== 와 ===의 차이

Updated: 2025-01-15

javascriptweekly
cover image

자바스크립트에서 == 와 ===의 차이

자바스크립트에서 값을 비교할 때 자주 사용되는 == (이퀄) 연산자와 === (스트릭트 이퀄) 연산자는 비슷해 보이지만, 비교 방식에 큰 차이가 있습니다.

== (이퀄) 연산자

  • 느슨한 비교: 값의 타입 변환을 시도하면서 값이 같은지 비교합니다.
  • 타입 변환 예시: 숫자와 문자열을 비교할 때, 문자열을 숫자로 변환하여 비교합니다.
    • 1 == "1"true 를 반환합니다.
  • 주의점: 타입 변환으로 인해 예상치 못한 결과가 나올 수 있습니다. 특히, nullundefined== 연산자로 비교하면 true 를 반환합니다.

=== (스트릭트 이퀄) 연산자

  • 엄격한 비교: 값과 타입이 모두 일치하는지 비교합니다.
  • 타입 변환 없음: 타입 변환을 하지 않고, 값과 타입이 정확하게 일치해야 true를 반환합니다.
    • 1 === "1"false를 반환합니다.
  • 권장: 일반적으로 === 연산자를 사용하는 것이 좋습니다. 예상치 못한 결과를 줄이고, 코드의 가독성을 높일 수 있습니다.

왜 ===를 사용해야 할까요?

  • 명확성: 코드의 의도를 명확하게 전달할 수 있습니다.
  • 예측 가능성: 타입 변환으로 인한 예상치 못한 결과를 방지합니다.

간단한 예시

JavaScript

1console.log(1 == "1"); // true (타입 변환 후 비교) 2console.log(1 === "1"); // false (타입이 다름) 3 4console.log(null == undefined); // true (둘 다 값이 없음) 5console.log(null === undefined); // false (타입이 다름)

결론적으로, 자바스크립트에서 값을 비교할 때는 === 연산자를 사용하는 것이 일반적인 규칙입니다. 더 명확하고 안정적인 코드를 작성하기 위해 === 연산자를 적극 활용하는 것이 좋습니다.

문의 사항이 있으시면 언제든지 개인 메일로 연락 주시기 바랍니다.

메일 보내기

© 2024. kimyoungho all rights reserved.