티스토리 뷰

JavaScript에서 == 연산자와 === 연산자의 주요 차이는 "동등"과 "일치"에 있음

  1. 동등 비교 (==) 연산자:
    • 좌변과 우변의 값이 동등한지 확인
    • 타입 변환 수행, 서로 다른 타입의 값이 동일하다고 판단할 가능성 있음
console.log(0 == "0");  // true, 문자열 "0"이 숫자 0으로 변환
console.log(0 == false); // true, 불리언 false가 숫자 0으로 변환
console.log('false' == false); // false, 문자열 'false'는 NaN으로 변환, 불리언 false는 0으로 변환
console.log('' == 0);  // true, 빈 문자열이 0으로 변환
  1. 일치 비교 (===) 연산자:
    • 좌변과 우변의 값이 일치하는지 확인
    • 타입 변환을 미수행, 서로 다른 타입의 값은 일치하지 않음
console.log(0 === "0");  // false, 타입이 다름
console.log(0 === false); // false, 타입이 다름
console.log(0 === 0); // true, 타입과 값이 같음
console.log('' === 0); // false, 타입이 다름

 

위의 예제에서 볼 수 있듯이, == 연산자는 타입 변환이 발생할 수 있어 예상치 않은 결과를 얻을 수 있음
따라서 코드의 의도를 더 명확하게 하고 버그를 줄이기 위해 === 연산자를 사용하는 것이 좋음

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함