불린형(논리 타입)은 true와 false 두 가지 값밖에 없는 자료형이며 불린형은 긍정이나 부정을 나타내는 값을 저장할 때 사용한다. 컴퓨터과학에서 주로 참은 1, 거짓은 0에 대응하나 언어마다 차이가 있다. 숫자를 쓰지 않고 참과 거짓을 나타내는 영단어 true와 false를 쓰기도 한다.
Javascript에서 불리언 조건은 어떤 코드 부문이 실행되어야 할 지(예를 들어 if 절 안에서) 또는 어떤 코드 부문을 반복해야 할지(예를 들어 for 문 안에서) 결정하는 데 사용한다.
true;
false;
/* JavaScript if문 */
if (boolean conditional) {
// 조건이 참일 경우 실행되는 코드
}
if (boolean conditional) {
console.log("boolean conditional resolved to true");
} else {
console.log("boolean conditional resolved to false");
}
/* JavaScript for 루프 */
for (control variable; boolean conditional; counter) {
// 조건이 참일 경우 반복해서 실행할 코드
}
불린값은 비교 결과를 저장할 때도 사용된다. 아래 예시처럼 isFreater변수에 4가 1보다 큰값이다 라고 할당하고 alert로 확인하면 true값이 나오는걸 볼 수 있다.
let isGreater = 4 > 1; // 정수 4는 정수 1보다 큰 값이다.
alert( isGreater ); // true (비교 결과: "yes")
falsy 값
불리언 타입은 아니지만, 자바스크립트에서 false로 “여겨지는” 값이 일부 있는데, 이를 falsy 값이라고 합니다. 반대로 true로 “여겨지는” 값은 truthy 값이라고 합니다. truthy 값은 매우 많아서, falsy 값을 암기하면 구분하기 쉽다.
// 대표적인 falsy 값
false
0
-0
0n
""
''
``
null
undefined
NaN
비교연산자(comparison operator)
불리언은 비교연산자(comparison operator)로 두 값이 같은지 다른지를 확인할 때 유용하다.
보다 큼·작음:a > b,a < b
보다 크거나·작거나 같음:a >= b,a <= b
같음(동등):a === b. 등호=가 세 개 연달아 오는 것에 유의. a = b와 같이 등호가 하나일 때는 할당을 의미한다.
같지 않음(부등): 같지 않음을 나타내는 수학 기호≠는 자바스크립트에선a != b로 나타냅니다. 할당연산자=앞에 느낌표!를 붙여서 표시합니다.
==, != : 느슨한 동치 연산자 느슨한 동치 연산자는 “대체로” 타입이 달라도 값이 같으면 true, 다르면 false를 반환합니다. 이렇게 “느슨하게” 동치 여부를 판단하기 때문에 예외가 많아 현대 웹 개발에서는 사용을 권장하지 않습니다. 참고로 다른 프로그래밍 언어에서는 == , != 를 주로 사용하는데, JavaScript에서는 ===, !== 로 비교해야 합니다. == 은 사용하지 않는다고 한다. 그냥 그런게 있구나 하고 넘어가도록.
12 == '12' // true
관계 연산자(>, >=, <, <=)
비교 연산자는 피연산자를 비교하고, 비교가 참인지 여부를 나타내는Boolean값을 반환합니다.