음악, 삶, 개발

객체들간에 === 사용시 주의할점 본문

개발 Web/JS

객체들간에 === 사용시 주의할점

Lee_____ 2021. 3. 11. 01:11

< 참고 강좌 : 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