본문 바로가기
프로그래밍/javascript

자바스크립트 동등 연산자

by freeelifee 2025. 4. 11.
728x90

목차

  1. 동등 연산자란?
  2. 느슨한 동등 (==)
  3. 엄격한 동등 (===)
  4. 비교 요약
  5. 사용 시 주의사항
  6. 정리

1. 동등 연산자란?

자바스크립트에서 동등 연산자는 두 값을 비교하여 동등 여부를 확인하는데 사용됩니다. 두 가지 주요 연산자가 있습니다:

  • ==: 느슨한 동등 연산자
  • ===: 엄격한 동등 연산자

각 연산자는 비교 방식과 결과가 다르며, 자세한 설명은 아래에서 확인하세요.

2. 느슨한 동등 (==)

==는 타입 변환을 수행하여 두 값의 내용만 비교합니다.

특징

  • 두 값의 타입이 다를 경우, 자바스크립트가 암묵적으로 타입을 변환한 뒤 비교합니다.
  • 비교 결과가 직관적이지 않을 수 있습니다.

예제

 
console.log(5 == "5");      // true (문자열 "5"가 숫자 5로 변환되어 비교됨)
console.log(false == 0);    // true (false가 숫자 0으로 변환됨)
console.log(null == undefined); // true (특별한 규칙으로 서로 동등하게 간주됨)

3. 엄격한 동등 (===)

===는 타입 변환을 수행하지 않으며, 두 값의 타입과 값이 모두 동일한 경우에만 true를 반환합니다.

특징

  • 타입과 값이 모두 일치해야만 true를 반환합니다.
  • 기본적으로 안전하고 예측 가능한 결과를 제공합니다.

예제

console.log(5 === "5");     // false (타입이 다름: 숫자와 문자열)
console.log(false === 0);   // false (타입이 다름: boolean과 숫자)
console.log(null === undefined); // false (타입이 다름)

4. 비교 요약

특징 특징느슨한 동등 (==) 엄격한 동등 (===)
타입 체크 여부 없음 있음
암묵적 타입 변환 있음 없음
값과 타입 비교 값만 비교 값과 타입 모두 비교
예제 결과 5 == "5" → true 5 === "5" → false

5. 사용 시 주의사항

  1. 타입 변환 문제:
    • ==는 타입 변환을 수행하므로 예상치 못한 결과를 반환할 수 있습니다. 따라서 기본적으로 ===를 사용하는 것이 더 안전합니다.
  2. 특별한 경우 (null과 undefined):
    • null == undefined는 true를 반환하지만, null === undefined는 false를 반환합니다. 이러한 특별 규칙을 알고 있어야 실수를 방지할 수 있습니다.

6. 정리

  • == (느슨한 동등): 타입 변환을 수행하여 값만 비교하므로 예기치 않은 결과를 초래할 수 있습니다.
  • === (엄격한 동등): 타입과 값을 모두 비교하므로 더욱 안전하며, 자바스크립트에서 비교 연산 시 기본적으로 사용하는 것이 좋습니다.
728x90