자바스크립트의 논리 연산자에 대해 알아보겠습니다. 이 글은 MDN과 eloquent javascript를 토대로 쓰여졌습니다.
모든 연산자는 각각 필요로 하는 항의 갯수가 다르다. 필요로 하는 항의 갯수에 따라서 연산자들을 구분할 수 있다.
// 단항
typeof 123 // typeof 연산자
instanceof myObj
// 이항
const a = 1 // 할당 연산자
a === b // 비교 연산자
a > b
a != b
a + b // 산술 연산자
// 삼항 (조건 연산자)
a ? console.log(true) : console.log(false)
불리언 값 자체에 적용할 수 있는 연산자이다. 논리 연산자는 불리언의 근거로 사용할 수 있다.
&& 연산자와 || 연산자는 모두 이항 연산자이다.
expr1 && expr2
// expr1을 true로 변환할 수 있는 경우 expr2을 반환하고, 그렇지 않으면 expr1을 반환합니다.
true && true = true;
true && false = false;
false && true = false;
false && false = false;
true || true = true;
true || false = true;
false || true = true;
false || false = false;
expr1 || expr2
// expr1을 true로 변환할 수 있으면 expr1을 반환하고, 그렇지 않으면 expr2를 반환합니다.
!expr
// 단일 피연산자를 true로 변환할 수 있으면 false를 반환합니다. 그렇지 않으면 true를 반환합니다.