[JS]true==2는 false지만, if(2) {}는 실행되는 이유
·
Language/JavaScript
자바스크립트에서 조건문과 비교 연산자를 사용하다 보면 의외의 결과를 마주할 때가 많다. 특히 true == 2는 false로 평가되지만, if(2)는 true로 평가되어 실행되는 현상이 있다. 이번 글에서는 그 이유와 함께 자바스크립트에서 truthy와 falsy 값이 어떻게 작동하는지 살펴보겠다.true == 2가 false인 이유자바스크립트에서는 == 연산자가 느슨한 동등 연산자로 작동한다. 이 연산자는 비교하기 전에 피연산자들의 형을 자동으로 맞추기 때문에, true는 숫자 1로 변환된다. 따라서 true == 2는 실제로 1 == 2로 평가되어 false가 된다.console.log(true == 2); //false이와 같은 동작이 일어나는 이유는 자바스크립트의 형 변환 덕분이다. 자바스크립트는..