공부/이모저모

javascript == 와 === 의 차이

JUNFUTURE 2024. 1. 30. 12:10

JavaScript에서 ==와 ===는 비교 연산자로, 두 값의 동등성을 확인합니다. 하지만 이 둘은 약간의 차이가 있습니다.

  1. == (동등 연산자):
    • ==는 두 값이 동등한지 비교합니다. 하지만 엄격한 타입 검사(strict type checking)를 수행하지 않습니다.
    • 이 연산자를 사용할 때 JavaScript는 비교하는 값의 타입을 변환하여 동일한 타입으로 만든 후 비교합니다.
    • 예를 들어, 문자열 "1"과 숫자 1은 다른 타입이지만 ==로 비교하면 JavaScript는 문자열 "1"을 숫자 1로 변환하여 동등성을 확인합니다.
  2. === (일치 연산자):
    • ===는 두 값이 정확하게 일치하는지를 비교합니다. 두 값의 타입과 값이 모두 같아야 합니다.
    • 타입 변환 없이 엄격한 비교를 수행하기 때문에 타입이 다른 경우에는 일치하지 않습니다.
    • 이 연산자는 보다 명시적이며 예상치 못한 결과를 방지할 수 있습니다.

간단한 예시로 비교하면:

console.log(1 == "1");  // true (타입 변환 후 비교)
console.log(1 === "1"); // false (타입이 다름)

 

따라서 보다 엄격한 비교를 하고자 할 때는 ===를 사용하는 것이 권장됩니다. 일치 연산자를 사용하면 코드의 가독성을 높일 뿐만 아니라 예기치 않은 결과를 방지할 수 있습니다.

 

따봉 GPT야 고마워