[Javascript]JavaScript에서 유사한 두 개체를 비교할 때 false가 반환되는 이유
아래 예를 들어 보겠습니다.ㅇ
let a = { a: 1 };
let b = { a: 1 };
let c = a;
console.log(a === b); // logs false even though they have the same property
console.log(a === c); // logs true hmm
JavaScript는 개체와 원시 요소를 서로 다르게 비교합니다. 원시 요소에서는 값을 기준으로 비교하는 반면 개체에서는 변수를 참조 또는 변수가 저장된 메모리에 있는 주소를 기준으로 비교합니다.
따라서 첫 번째 console.log 문은 false를 반환하고 두 번째 console.log 문은 true.a를 반환하며 c는 동일한 참조를 가지며 a와 b는 그렇지 않습니다.
'JAVAscript (자바스크립트)' 카테고리의 다른 글
[Javascript] 여러식을 한줄로 평가하는 방법 (0) | 2021.04.13 |
---|---|
[Javascript]!! 연산자의 역할 (0) | 2021.04.13 |
[Javascript] == VS === 의 차이점 (0) | 2021.04.13 |
[Javascript]event.currentTarget 이란? (0) | 2021.04.13 |
[Javascript]Event.target 이란? (0) | 2021.04.13 |