이전에 파이썬에서 빈 배열임을 확인할때 arr==[]를 써서 그런지, 자바스크립트에서 동일하게 썼는데 문제가 아예 안풀렸었다. 이유가 뭔지 전혀 이해가 되지 않았었다.
오늘에서야 그 이유를 알게 되었는데, 자바스크립트에서는 빈 배열인 변수와 []는 주소가 서로 다른 빈 배열이라고 생각하기 때문이다. 참조 자료형이기 때문에 그런 것....
object로 예를 들자면
const a = {key:1,key2:2}
const b ={key:1,key2:2}
console.log(a===b)//false
이 두개의 객체가 모양은 같더라도 참조하는 주소는 다른 것 처럼 빈 배열인 arr와 []도 다른 것이다.
'Today I learned! > 오늘 하루 배운 것, 기억할 것' 카테고리의 다른 글
220628 (0) | 2022.06.28 |
---|---|
220622 (0) | 2022.06.22 |
기존 배열을 수정하는 메서드와 새로운 배열을 반환하는 메서드 (0) | 2022.05.10 |
220428(html,css,js) (0) | 2022.04.28 |
220412(잡다) (0) | 2022.04.12 |