JavaScript에서 값과 타입의 불일치
!= 연산자 외에도 비교 시 타입을 고려하는
!== 연산자가 있습니다. 예제를 통해
둘 사이의 차이점을 살펴보겠습니다.
!= 연산자로 3이라는 두 숫자를 비교해 봅시다.
이 연산자는 값이 같지 '않은지'를 비교합니다.
우리의 값은 정확히 같기 때문에 조건은 거짓이 될 것입니다:
if (3 != 3) {
console.log('+++');
} else {
console.log('---'); // 이것이 실행됩니다
}
이제 값 중 하나를 따옴표 안에 넣어 봅시다.
이 경우에도 != 연산자는 여전히 그들을
동일하다고 판단할 것입니다(값은 일치하고 타입은 이 연산자에 중요하지 않기 때문에)
그리고 다시 조건은 거짓이 될 것입니다:
if ('3' != 3) {
console.log('+++');
} else {
console.log('---'); // 이것이 실행됩니다
}
이제 !== 연산자로 3이라는 두 숫자를
비교해 봅시다. 이것도 그들을 동일하다고 판단할 것입니다:
if (3 !== 3) {
console.log('+++');
} else {
console.log('---'); // 이것이 실행됩니다
}
하지만 이제 하나의 3을 따옴표로 감싸면,
!== 연산자는 우리의 두 3을 다르다고
판단할 것입니다. 왜냐하면 값은 일치하지만
타입이 다르기 때문입니다:
if ('3' !== 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 = 2;
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}