console.log(2 + '2');
> 22 // +연산자는 문자열을 이어주는 역할이 조금 더 강함
console.log(4 + 2);
> 6
console.log(5 - true);
> 4 // 형변환을 하지도 않았는데 알아서 숫자로 변환해 연산 되었음.
console.log(5 * false);
> 0 // 형변환을 하지 않았는데 알아서 숫자로 변환해 연산 되었음.
console.log(4/'2');
> 2
console.log('4' ** true);
> 4
console.log(6 % 'two');
> NaN
console.log(2 < '3');
> true
console.log(2 > true);
> true
console.log('2' <== false);
> false
console.log('two' >= 1);
> false
관계 비교 연산에서는 결과가 True나 false가 나오는데
비교가 불가능한 경우에도 'false'가 출력된다.
일치 비교는 형변환이 일어나지 않지만 동등비교는 숫자형태로 형변환이 일어난다.
동등과 부등은 형변환이 일어날 수 있기 때문에 특별한 경우가 아니라면 두 값이 서로 같은지를 비교할때는 등호 3개를 이용하는 것이 보다 안전한 코드를 작성하는데 도움이 됨.
console.log(1 === '1');
> false // 일치(===), 불일치(!==) 비교
console.log(1 === true);
> false
console.log(1 == '1');
> true // 동등(==), 부등(!=) 비교
console.log(1 == true);
> true