JavaScript에서 값과 타입의 불일치

!= 연산자 외에도 비교 시 타입을 고려하는 !== 연산자가 있습니다. 예제를 통해 둘 사이의 차이점을 살펴보겠습니다.

!= 연산자로 3이라는 두 숫자를 비교해 봅시다. 이 연산자는 값이 같지 '않은지'를 비교합니다. 우리의 값은 정확히 같기 때문에 조건은 거짓이 될 것입니다:

javascriptif (3 != 3) {
  console.log('+++');
} else {
  console.log('---'); // 이것이 실행됩니다
}

이제 값 중 하나를 따옴표 안에 넣어 봅시다. 이 경우에도 != 연산자는 여전히 그들을 동일하다고 판단할 것입니다(값은 일치하고 타입은 이 연산자에 중요하지 않기 때문에) 그리고 다시 조건은 거짓이 될 것입니다:

javascriptif ('3' != 3) {
  console.log('+++');
} else {
  console.log('---'); // 이것이 실행됩니다
}

이제 !== 연산자로 3이라는 두 숫자를 비교해 봅시다. 이것도 그들을 동일하다고 판단할 것입니다:

javascriptif (3 !== 3) {
  console.log('+++');
} else {
  console.log('---'); // 이것이 실행됩니다
}

하지만 이제 하나의 3을 따옴표로 감싸면, !== 연산자는 우리의 두 3을 다르다고 판단할 것입니다. 왜냐하면 값은 일치하지만 타입이 다르기 때문입니다:

javascriptif ('3' !== 3) {
  console.log('+++'); // 이것이 실행됩니다
} else {
  console.log('---');
}
Задание 1

코드를 실행하지 말고 콘솔에 무엇이 출력될지 결정하세요:

javascriptlet test1 = '3';
let test2 = '3';
    
if (test1 != test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 2

코드를 실행하지 말고 콘솔에 무엇이 출력될지 결정하세요:

javascriptlet test1 = '3';
let test2 = '3';
    
if (test1 !== test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 3

코드를 실행하지 말고 콘솔에 무엇이 출력될지 결정하세요:

javascriptlet test1 = 3;
let test2 = '3';
    
if (test1 != test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 4

코드를 실행하지 말고 콘솔에 무엇이 출력될지 결정하세요:

javascriptlet test1 = 3;
let test2 = '3';
    
if (test1 !== test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 5

코드를 실행하지 말고 콘솔에 무엇이 출력될지 결정하세요:

javascriptlet test1 = 3;
let test2 = 2;
    
if (test1 !== test2) {
  console.log('+++');
} else {
  console.log('---');
}