JavaScript에서 값과 타입에 의한 동등 비교
따옴표 안의 숫자가 따옴표 없는 같은 숫자와 같지 않게 비교하고 싶다고 가정해 보세요. 다시 말해, 값뿐만 아니라 데이터 타입도 비교하는 방식으로 비교를 하고 싶은 것입니다.
이를 위해 == 연산자 대신
=== 연산자를 사용해야 합니다. 다음
예제에서 문자열 '3'과
숫자 3을 비교할 때 조건은 거짓이 될 것입니다.
변수들의 값은 같지만 타입이 다르기 때문입니다:
if ('3' === 3) {
console.log('+++');
} else {
console.log('---'); // 이것이 실행됨
}
하지만 두 문자열 '3'을
비교하면 조건은 참이 됩니다:
if ('3' === '3') {
console.log('+++'); // 이것이 실행됨
} else {
console.log('---');
}
숫자들을 비교할 때도 마찬가지입니다:
if (3 === 3) {
console.log('+++'); // 이것이 실행됨
} else {
console.log('---');
}
== 연산자와 === 연산자의 차이는
값이 같지만 데이터 타입이 다른 경우에 정확히 나타납니다.
다른 경우에는 이 두 연산자가 동일하게 작동합니다.
예를 들어, 다른 숫자들을 비교할 때는 물론 '---'가 출력될 것입니다:
if (2 === 3) {
console.log('+++');
} else {
console.log('---'); // 이것이 실행됨
}
코드를 실행하지 말고 콘솔에 무엇이 출력될지 결정하세요:
let test1 = '3';
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
코드를 실행하지 말고 콘솔에 무엇이 출력될지 결정하세요:
let test1 = '3';
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
코드를 실행하지 말고 콘솔에 무엇이 출력될지 결정하세요:
let test1 = 3;
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
코드를 실행하지 말고 콘솔에 무엇이 출력될지 결정하세요:
let test1 = 3;
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
코드를 실행하지 말고 콘솔에 무엇이 출력될지 결정하세요:
let test1 = 3;
let test2 = 3;
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}