===
와 ==
의 차이점에 대해 기록해두고자 한다.대충 알고 있을 때 제대로 비교하기 위해선 ===
를 사용해야한다 정도만 알고 있었던 것 같다. 가끔 쫌쫌따리로 스프링 코드를 볼 때 ==
가 많이 나오길래 같은 의미이지만 스프링에선 이 연산자로도 비교가 가능한줄 알았다.
===
{}✅ 엄격한 같음
✅ 먼저 타입을 비교하고 타입이 동일하지 않을 경우 false를 바로 반환한다.
const a = 100;
const b = '100';
console.log(a === b); // false
✅ {} 객체 안에 들어있는 실제 데이터를 각각 비교하기 때문에 true가 된다.
==
{}✅ 느슨한 같음
const a = 100;
const b = '100';
console.log(a === b); // true
✅ {} 객체의 실제 데이터가 아니라 참조를 기반으로 비교하기 때문에 false가 된다. 동일하게 생긴 데이터라도 참조하는 곳(데이터를 담아두는 곳)이 다를 수 있기 때문이다.