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
반응형