음악, 삶, 개발
객체들간에 === 사용시 주의할점 본문
< 참고 강좌 : youtu.be/YBjufjBaxHo?t=703 >
JS 의 object 를 저장할 변수는 C++ 의 reference 나 포인터를 떠올리는게 좋다.
객체 그 자체가 아니라, 객체를 가리키는 주소값을 저장하기때문이다.
따라서 두 객체가 가진 내용물이 동일하다 하더라도, 서로 다른 메모리에 저장되어있는 객체이므로 동일하지않다.
하지만 주소값을 복사한경우는 동일하다.
따라서 객체간에 === 를 해볼시에는 주소값을 비교하는것이다.
const a = { name : 'lee' }
const b = { name : 'lee' }
const c = b // a 의 주소값을 복사
console.log(a === b) // false 객체의 주소값이 다름
console.log(a === c) // true