JavaScript

[JavaScript] #2 비교 연산자 (자바스크립트 ==, ===)

권락현 2021. 12. 30. 22:34

 

이번에는 제가 개인적으로 자주 헷갈려하는 = 연산자 대해서 정리해보겠습니다!


==, === 연산자

  • == : 데이터 타입에 상관없이 비교한다.
  • === : 데이터 타입까지 고려해서 비교한다.
let a = '1';
let b = 1;

//데이터타입에 상관없이 내용이 같으면 같다!
console.log(a == b); //true
console.log(a != b); //false

//데이터타입까지 검사해서 같아야 같다!
console.log(a === b); //false
console.log(a !== b); //true

 

 

  • object에 주의!
let a = {name: 'a'};
let b = {name: 'a'};
let c = a;

//1번
console.log{a == b}; //false

//2번
console.log{a === b}; //false

//3번
console.log{a === c}; //true

- object는 해당 변수에 주소값이 저장되어있다!

- 그렇기에 a,b는 주소를 타고 가서 도달한 값은 같지만 결국 변수에 저장된 주소가 다르기 때문에 1번은 false

- 당연히 2번도 데이터타입은 같지만 값이 다르기 때문에 false

- 마지막 3번은 c에 a의 주소 값을 그대로 넣었기 때문에 서로 타입도 같고 값도 같으므로 true

 


이번에는 조금 짧긴 했지만 헤깔리는 비교 연산자에 대해서 정리해보았습니다!