2022년 01월 13일
수정하기
문서 생성 2022-01-13 10:42:47 최근 수정 2022-01-13 10:42:55
📚 오늘 도전하고, 배운 것
HTMLCollection
이나NodeList
객체는 예상과 다르게 동작할 대가 있어 다루기 까다롭고 실수하기 쉽기 때문에 배열로 변환하여 배열 고차 함수를 사용하는 것이 좋다.- 배열로 변환하는 방법은 스프레드 연산자 또는 Array.from 메서드를 사용하면 된다.
- 객체 프로퍼티 키가
Symbol
함수로 생성된 경우 값을 가져올 수 있는 방법이 하나 있다.
const obj = {[Symbol('a')]: 1}const a = Reflect.ownKeys(obj);console.log(obj[a[0]]); // 1- 하지만 인덱스의 값이 항상 어떤 값이라는 보장이 안되기 때문에 개발시 사용하기엔 좋지 않다.
- 객체 프로퍼티 키가
WeakSet
- 참조 카운트를 증가시키지 않는다.
- 이터러블이 아니라서
size
프로퍼티도 없고,for...of
도 사용할 수 없고keys()
,values()
,entries()
, forEach()`를 사용할 수 없다. has()
는 사용 가능- 활용사례? 아직까지 많지 않다...
Map
- 객체의 단점을 보완하기 위한 데이터 타입
- 객체의 단점: 이터러블하지 않다. 키를 문자열로 취급해서 키값의 unique 함을 완벽히 보장하지 못한다. 프로퍼티의 개수를 직접 파악할 수 없다.
- 객체의 단점을 보완하기 위한 데이터 타입
WeakMap
WeakSet
과 마찬가지로 참조 카운트를 증가시키지 않는다.
🤔 학습하면서 궁금하거나 어려웠던 점
🌅 내일은 무엇을?
🖋 log
- 빵천동에 갔다. 밥도 맛있고 빵도 맛있었다.