JS

[Javascript] "true" == true 의 결과는?

gimgongta 2022. 8. 13. 16:48
반응형

결론부터 말씀드리면 false 입니다

대개 문자열은 true로 변환 된다고 생각하기 때문에 결과가 true라고 생각 할 수도 있다

실제로 아래의 코드

if( "abc" ) {

  console.log("true")

}

는 조건문이 true 로 여겨져 구문 안의 콘솔로그가 실행이 된다.

하지만 문자열은 '항등연산자'(==)를 만나면 NaN으로 형변환이 된다.

또한 Boolean타입은 항등연산자를 만나면 숫자형으로 형변환이 된다.

즉 "true" == true는

NaN == 1로 변환되기 때문에

결과는 false가 된다.

참고로 빈 문자열은 항등연산자를 만나면 0으로 변환된다...

반응형