== 와 ===의 차이
Updated: 2025-01-15
javascriptweekly
자바스크립트에서 == 와 ===의 차이
자바스크립트에서 값을 비교할 때 자주 사용되는 == (이퀄) 연산자와 === (스트릭트 이퀄) 연산자는 비슷해 보이지만, 비교 방식에 큰 차이가 있습니다.
== (이퀄) 연산자
- 느슨한 비교: 값의 타입 변환을 시도하면서 값이 같은지 비교합니다.
- 타입 변환 예시: 숫자와 문자열을 비교할 때, 문자열을 숫자로 변환하여 비교합니다.
1 == "1"은true를 반환합니다.
- 주의점: 타입 변환으로 인해 예상치 못한 결과가 나올 수 있습니다. 특히,
null과undefined는==연산자로 비교하면true를 반환합니다.
=== (스트릭트 이퀄) 연산자
- 엄격한 비교: 값과 타입이 모두 일치하는지 비교합니다.
- 타입 변환 없음: 타입 변환을 하지 않고, 값과 타입이 정확하게 일치해야
true를 반환합니다.1 === "1"은false를 반환합니다.
- 권장: 일반적으로
===연산자를 사용하는 것이 좋습니다. 예상치 못한 결과를 줄이고, 코드의 가독성을 높일 수 있습니다.
왜 ===를 사용해야 할까요?
- 명확성: 코드의 의도를 명확하게 전달할 수 있습니다.
- 예측 가능성: 타입 변환으로 인한 예상치 못한 결과를 방지합니다.
간단한 예시
JavaScript
결론적으로, 자바스크립트에서 값을 비교할 때는 === 연산자를 사용하는 것이 일반적인 규칙입니다. 더 명확하고 안정적인 코드를 작성하기 위해 === 연산자를 적극 활용하는 것이 좋습니다.
