분류 전체보기183 [JavaScript] 위크맵(WeakMap)과 위크셋(WeakSet) 1. WeakMap WeakMap과 Map은 비슷한 자료구조입니다. 다만 한 가지 명확한 차이점이 있다면, 위크맵은 키로 반드시 객체를 받아와야 합니다. 아래 예제 코드를 통해 WeakMap에 대해 살펴봅시다. let weakMap = new WeakMap(); //weakMap 선언 let object={name:'Jason'}; weakMap.set(object, 'hi!'); weakMap.set('string', 'hi!'); // error! WeakMap에서 지원하는 메서드는 Map 객체의 메서드와 비슷한 양상을 띱니다. Map 객체 메서드는 아래 포스팅에서 확인하실 수 있습니다. https://eloquence-developers.tistory.com/167 [JavaScript] 맵(Map.. 2021. 7. 30. [JavaScript] Object.keys, values, entries Object.keys(obj) // 객체의 키만 담은 배열을 반환 Object.values(obj) // 객체의 값만 담은 배열을 반환 Object.entries(obj) // 객체의 키-값 쌍을 담은 배열을 반환 아래 예제를 통해서 위 메서드들의 쓰임새를 알아보겠습니다. const user={ name:'Jason', age:23, birthDay:new Date('2000-01-03'), } console.log(Object.keys(user)); console.log(Object.values(user)); console.log(Object.entries(user)); Object.entries(obj)를 이용하면 객체를 배열로 변환시킬 수 있는데, 이렇게 되면 map, filter, reduce 등.. 2021. 7. 30. [JavaScript] 셋(Set) 셋(Set)은 중복을 허용하지 않는 값을 모은 컬렉션입니다. 아래 예제 코드를 보면서 셋에 대해 알아보도록 합시다. let set = new Set(); //set을 선언해 줍니다. ( ) 안에 iterable 객체를 넣어 Set 객체의 초기 값을 설정해줄 수 있습니다. let john = 'John'; let peter = 'Peter'; let mary = 'Mary'; set.add(john); //set에 요소를 추가해줍니다. set.add(mary); set.add(peter); set.add(john); set.add(mary); console.log(set); set.delete(john); //set에서 특정 요소를 삭제해줍니다. console.log(set); console.log(set.. 2021. 7. 30. [JavaScript] 맵(Map) Map은 key-value 간의 관계를 나타내는 자료 구조입니다. 객체 역시 key-value 간의 관계를 프로퍼티라고 표현하면서 나타내는 자료형이었습니다. 그렇다면 객체와 Map의 차이점은 무엇일까요? 바로 key에서 사용할 수 있는 자료형의 차이입니다. 객체에서는 프로퍼티 키로 올 수 있는 값은 String이나 Symbol이어야 합니다. 반면, Map의 경우 프로퍼티 키로 올 수 있는 자료형에 따로 제약이 없습니다. 예시 코드를 통해서 Map 객체를 생성하고 key-value 쌍을 만들고 조회하는 등의 과정을 살펴보겠습니다. let map = new Map(); // Map 객체 생성 map.set('key1', 'value1'); // set method를 이용해서 key-value 쌍 생성 map.. 2021. 7. 30. 이전 1 ··· 9 10 11 12 13 14 15 ··· 46 다음