JS/변수선언

JS(2). == vs ===

jjhim531 2024. 12. 22. 18:50
반응형
console.log(num1 == "55")
console.log(num1 === "55")​

 

첫 번째 줄 : num1 == "55"

  • ==는 느슨한 동등 연산자로, 타입을 강제로 변환한 후 값을 비교한다.
    • 만약 num1이 숫자 55라면, 문자열 "55"로 변환되거나, "55"가 숫자 55로 변환되어 비교된다.
    • 결과적으로 num1의 값이 55라면 true를 반환한다.

두 번째 줄  :  num1 === "55"

  • ===는 엄격한 동등 연산자로, TYPE과 값이 모두 같아야  true를 반환한다.
    • 예를 들어, num1이 숫자 55라면 문자열 "55"와 TYPE이 다르므로 false가 반환된다.

 

< Example >

let num1 = 55; // 숫자
console.log(num1 == "55");  // true (값은 같지만 타입 변환 후 비교)
console.log(num1 === "55"); // false (타입이 다르므로 비교 실패)

 

  • 첫 번째 줄: true
    num1의 값 55는 문자열 "55"로 변환되어 동등하다고 판단됩니다.

 

  • 두 번째 줄: false
    숫자 55와 문자열 "55"는 타입이 다르므로 엄격한 비교에서 false를 반환합니다.

 

< 결론>

  • ==: 타입 변환을 허용하고 값만 비교.
  • ===: 타입 변환을 허용하지 않고 값과 타입을 모두 비교.

JavaScript에서는 가급적이면 ** === **를 사용하는 것을 권장한다.

타입 변환 없이 명확한 비교를 제공하기 때문이다.

728x90
반응형