[JS] 객체 데이터 비교하기
- 프론트/자바스크립트
- 2024. 7. 23.
객체끼리의 비교
`변수`끼리는 데이터를 비교하여 값이 같거나 다르면 `true/false`를 리턴해준다. 하지만 `객체`끼리 비교하게 되면 값이 같아도 `false`를 리턴하는데 이유는 메모리에 `값` 자체를 저장하는게 아니고 객체가 저장된 `주소값`을 저장하기 때문이다. 따라서 같은 데이터를 가지고 있더라도 다른 주소를 참조 하기 때문에 `false`가 나오게 된다.
그럼 어떻게 비교하는데?
`JSON.stringify()`를 사용해서 객체를 ` 문자열로 변환 `하고 비교하면 된다.
객체를 문자열로 변환 | JSON.stringify()
let person = {
name: "홍길동",
age: 30,
gender: "남자",
}
console.log(JSON.stringify(person));
// 출력: {"name":"홍길동","age":30,"gender":"남자"}
객체끼리의 데이터 비교
let person = {
name: "홍길동",
age: 30,
gender: "남자",
}
let person2 = {
name: "홍길동",
age: 30,
gender: "남자",
}
console.log(person == person2);
console.log(JSON.stringify(person) == JSON.stringify(person2));
// 출력: false;
// 출력: true;
'프론트 > 자바스크립트' 카테고리의 다른 글
[JS교양] null == undefined = true (0) | 2024.07.24 |
---|---|
[JS] Promise | 기기기~초초초 개념 (0) | 2024.07.24 |
[JS] 객체의 키, 데이터 가져오기 (0) | 2024.07.22 |
[JS] filter() | 배열을 걸러보자 (0) | 2024.07.08 |
[JS] 화살표함수 | 난해하다 난해해 (0) | 2024.07.01 |