JavaScript 문법 종합반 2주차 정리

slppills·2024년 7월 22일

TIL

목록 보기
31/69

나머지 매개변수(rest parameter)

function exampleFunc(a, b, c, ...args) {
    console.log(a, b, c);
    console.log(args);
}

exampleFunc(1, 2, 3, 4, 5, 6);

: 매개변수 이름 앞에 ...을 붙여서 정의한 매개변수

  • rest parameter는 함수에 전달된 전달인자들을 배열로 전달받는다.
  • 전달인자의 수가 정해져 있지 않은 경우에 사용할 수 있다.

함수

콜백함수 : 매개변수로써 쓰이는 함수
고차함수 : 함수를 인자로 받거나 return하는 함수

Closure(클로저)

클로저란 함수와 함수가 선언된 어휘적 환경(lexical environment)의 조합이다.

function createAdder(num) {
    return function (x) {
        return x + num;
    }
}

const addFive = createAdder(5);
console.log(addFive(10));

Map, Set

Map, Set의 목적 : 데이터의 구성, 검색, 사용을 효율적으로 처리 > 기존의 객체 또는 배열보다


Map

  • key / value
  • key에 어떤 데이터타입(유형)도 다 들어올 수 있다.
  • Map은 키가 정렬된 순서로 저장되기 때문이다.
  • 기능 > 검색, 삭제, 제거, 여부 확인
const myMap = new Map();

myMap.set('key', 'value');
myMap.get('key');

map.set()으로 key / value를 설정할 수 있고, map.get()으로 key에 대한 value를 불러올 수 있다.

<MAP의 반복>

Map에서는 keys(), values(), entries() 메소드를 이용하여 키, 값 및 키-값 쌍을 반복할 수 있다.

keys()

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' }

values()

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 }

entries()

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.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()

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

Set

-고유한 값을 저장하는 자료구조다.
-값만 저장한다.
-키를 저장하지 않는다.
-값이 중복되지 않는 유일한 요소로만 구성된다.
-값 추가, 검색, 값 삭제, 모든 값 제거, 존재 여부 확인

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()는 사용 가능하다.

0개의 댓글