질문/조언질답게시판

구글링해봐도 이해가 잘 안되서 질문해봅니다.

예를 들어서, 

 

const caseOne = 1;

const caseTwo = "1";

 

if ( caseOne === caseTwo ) {

console.log(blahblah);

}

 

이 경우에서 blahblah는 당연히 출력되지 않네요.

 

caseOne이 숫자형이고, caseTwo가 문자형이라서 그런건가요?

  • profile
    네. 자료형이 다르므로 false가 됩니다.

    https://bytearcher.com/articles/equality-comparison-operator-javascript/
    http://2ality.com/2011/12/strict-equality-exemptions.html
    == 연산은 자료형이 다른 경우 먼저 공통 자료형으로 변환후 비교하는데, 이 변환으로 의도치 않은 동작이 발생할수 있으니 어느 자료형이 들어오는지 확실한 상황이라면 ===를 사용하시는것이 좋습니다.
  • profile ?
    아하. 감사합니다.
    ===는 완전히 똑같을때만..된다..이런 말씀이시죠?
  • profile
    질문은 질답게시판 이용해주세요.