반응형

 

"0" == null;
"0" == undefined;
"0" == false; // true -- 헐
"0" == NaN;
"0" == "0";
"0" == "";

false == null;
false == undefined;
false == NaN;
false == 0; // true -- 헐
false == ""; // true -- 헐
false == []; // true -- 헐
false == {};

"" == null;
"" == undefined;
"" == NaN;
"" == 0; // true -- 헐
"" == []; // true -- 헐
"" == {};

0 == null;
0 == undefined;
0 == NaN;
0 == []; // true -- 헐
0 == {};

" "와  NaN은 전혀 동등할 만한 값들이 아니며 실제로도 느슨한 동등 비교 시 강제변환되지 않는다. 한편, "0"과 0은 느슨한 동등 비교 시 강제변환된다.

" "과 0은 분명히 다른 값이며 같은 값으로 취급할 경우 또한 거의 없기 때문에 강제변환은 문제가 있다.

반응형