참고: 이웅모 《모던 자바스크립트 Deep Dive》 7장
연산자는 값을 연산해 새 값을 만든다. ==와 ===, 그리고 +의 문자열 연결이 실무에서 가장 자주 밟는 지뢰다.
==는 타입이 다르면 맞추려 변환한 뒤 비교한다. ===는 타입까지 같아야 한다. 웬만하면 ===를 쓴다.
+는 한쪽이 문자열이면 연결이 우선되는 경우가 많다. 숫자는 Number()로 명확히 하는 편이 안전하다.
&& / ||는 true/false만 주지 않고 마지막으로 평가한 피연산자 값을 돌려준다. 우선순위가 헷갈리면 괄호로 의도를 드러낸다.
console.log(1 == '1'); // true
console.log(1 === '1'); // false
console.log(1 + '2'); // '12'
console.log(2 ** 3); // 8
let n = 1;
console.log(n++); // 1
console.log(++n); // 3
const ok = true && 'yes'; // 'yes'
const fallback = null || 'default'; // 'default'