function exampleFunc(a, b, c, ...args) {
console.log(a, b, c);
console.log(args);
}
exampleFunc(1, 2, 3, 4, 5, 6);
: 매개변수 이름 앞에 ...을 붙여서 정의한 매개변수
콜백함수 : 매개변수로써 쓰이는 함수
고차함수 : 함수를 인자로 받거나 return하는 함수
클로저란 함수와 함수가 선언된 어휘적 환경(lexical environment)의 조합이다.
function createAdder(num) {
return function (x) {
return x + num;
}
}
const addFive = createAdder(5);
console.log(addFive(10));
const myMap = new Map();
myMap.set('key', 'value');
myMap.get('key');
map.set()으로 key / value를 설정할 수 있고, map.get()으로 key에 대한 value를 불러올 수 있다.
Map에서는 keys(), values(), entries() 메소드를 이용하여 키, 값 및 키-값 쌍을 반복할 수 있다.
const myMap = new Map();
myMap.set('one', 1);
myMap.set('two', 2);
myMap.set('three', 3);
console.log(myMap.keys());
출력 : [Map Iterator] { 'one', 'two', 'three' }
const myMap = new Map();
myMap.set('one', 1);
myMap.set('two', 2);
myMap.set('three', 3);
console.log(myMap.values());
출력 : [Map Iterator] { 1, 2, 3 }
const myMap = new Map();
myMap.set('one', 1);
myMap.set('two', 2);
myMap.set('three', 3);
console.log(myMap.entries());
출력 : [Map Entries] { [ 'one', 1 ], [ 'two', 2 ], [ 'three', 3 ] }
map.size로 map의 사이즈(길이)를 구할 수 있다.
const myMap = new Map();
myMap.set('one', 1);
myMap.set('two', 2);
myMap.set('three', 3);
console.log(myMap.size);
출력 : 3
map.has()로 key 기반의 검색을 할 수 있다.
const myMap = new Map();
myMap.set('one', 1);
myMap.set('two', 2);
myMap.set('three', 3);
console.log(myMap.has('two'), myMap.has('four'));
출력 : true false
-고유한 값을 저장하는 자료구조다.
-값만 저장한다.
-키를 저장하지 않는다.
-값이 중복되지 않는 유일한 요소로만 구성된다.
-값 추가, 검색, 값 삭제, 모든 값 제거, 존재 여부 확인
const mySet = new Set();
mySet.add('one');
mySet.add('two');
mySet.add('two');
console.log(mySet);
출력 : Set(2) { 'one', 'two' }
이처럼 set은 중복된 값은 알아서 제거해준다.
그리고 set은 value만 저장하기 때문에 map처럼 keys()나 entries()같은 메서드는 사용할 수 없다.
하지만 set.size와 set.has()는 사용 가능하다.