본문 바로가기

Programming language/JavaScript

JavaScript - [Map, for of 구문, Set, 전개연산자]

Map 객체

- js에는 hashmap처럼 쓸수 있는 Map이라는 객체가 존재한다.

- key와 value값을 가지며 key는 하나의 value값만을 가진다.

 

길이

- map의 길이는 size로 구할 수 있다. map.lenght는 0이다.

초기화

- map.clear()

키 제거

- map.delete(key) : 해당하는 키에 대한 value값이 제거 되고 map.has(key) 값이 반환된다.

키 참조

- map.get(key) : 해당하는 키에 대한 value값을 반환한다.

키값이 존재하는지

- map.has(key) : 해당하는 키가 존재하면 true, 존재하지 않으면 false를 반환한다.

키 set

- map.keys() : 객체안에 존재하는 모든키들을 iterator 객체로 반환한다.

값 set

- map.values() : 객체안에 존재한는 모든값들을 iterator 객체로 반환한다.

키, 값 추가

- map.set(key, value) : 해당하는 키에 value값을 집어넣고 최신화된 map을 반환한다.

 

developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Map

 

Map

Map 객체는 키-값 쌍을 저장하며 각 쌍의 삽입 순서도 기억하는 콜렉션입니다.

developer.mozilla.org

for of 구문

- for of 구문은 반복가능한 객체를 반복문에서 사용자 정의 반복 후크를 적용할 수 있는 구문이다.

- java식 foreach 같다.

for(let a of array){
	console.log(a)
}
// array값을 하나씩 뽑아내서 출력한다.

Set 객체

- 중복을 제거하는 python의 set과 개념이 같다.

- 중복되는 값이 제거된다. 

- 중복되는 set 객체를 다시 배열로 바꿀때에는 전개연산자(Spread)를 사용할 수 있다.

let arr = [1, 2, 3, 3 ,3];
let set = new Set(arr);
for(let a of set){
    console.log(a);
}
//1
//2
//3

let newArr = [...set];
// spread of 문법
// set객체는 객체안의 속성을 펼친다음 []로 묶어서 배열로 만들었다.

 전개연산자 (Spread)

- js에만 있는 특이한 문법인데 객체 안의 내용을 모두 풀어내어 버린다.

- 위 예시와 같이 객체 앞에 ...라는 표현을 사용한다.

let arr = [1 ,2, 3];
let arr2 = [1, ...arr, 2, ...arr, 3];
console.log(...arr2);
//1 1 2 3 2 1 2 3 3

- 이는 객체에서도 마찬가지인데, 객체에서 전개연산자를 다음과 같이 사용할 수 있다.

- 객체안의 요소를 모두 풀어서 객체안에 집어 넣을 수도 있다.

const obj1 = {
	name : "name"
};

const obj2 = {
    ...obj1,
    age : 17,
};
const obj3 = {
    ...obj2,
    weight: 121
};

console.log(obj3);
//Object {name: "name", age: 17, weight: 121}