유데미 강의 JavaScript 완벽 가이드 : 초급 + 고급 마스터 과정을 들으면서 자바스크립트를 다시 한 번 익히는 중이다. 계속되는 포스팅에서 강의를 듣고 미처 몰랐던 부분, 심화 이해가 필요한 부분에 대해 주제별로 간단하게 기록하겠다.
Set과 Map에 대해서 처음 알아보았는데 생소한 형태이다 보니 직접 프로젝트에 사용해보지 않고서는 이해하기 어려울 것 같다. 일단 마음의 짐으로 남겨두고 추후에 필요할 때 찾아보도록 하자.
const nums = [1, 2, 3];
const nums = new Array(1,2,3); // [1,2,3]
const nums = new Array(3); // 단일 숫자만 넣을 경우 길이가 n 만큼의 빈 배열 생성
// new연산자가 없어도 동일하게 작동
const nums = Array.of(1,2,3) // [1,2,3]
const str = '123'
const nums = Array.from(str) // ['1', '2', '3']
// 이터러블을 배열로 변환
const arr = [1,2,3,4,5]
const sum = arr.reduce((prev, curr, i) => prev + curr, 0);
첫번째 인수 prev는 처음 초기값 이후로 이전의 반환값을 갖는다.
Set은 JavaScript의 내장 객체 중 하나로, 유니크한 값들의 집합을 저장한다. 즉, 중복된 값을 가질 수 없다. 중복을 허용하지 않는 데이터 구조가 필요한 경우 유용다.
add(value): 새로운 값을 추가.
has(value): 주어진 값을 집합이 포함하는지 확인.
delete(value): 주어진 값을 제거.
clear(): 모든 값을 제거.
size: 집합의 크기(값의 개수)를 반환.
let set = new Set();
set.add(1); // {1}
set.add(2); // {1, 2}
set.add(3); // {1, 2, 3}
set.add(2); // {1, 2, 3} - 중복된 값을 추가해도 무시합니다.
console.log(set.has(1)); // true
set.delete(1); // {2, 3}
set.clear(); // {}
console.log(set.size); // 0
Map은 키-값 쌍을 저장하는 JavaScript의 내장 객체. Object의 키는 문자열이나 심볼이어야 하지만, Map의 키는 어떤 데이터 타입도 가능하다(함수, 객체, 기본 타입 등).
Map은 키의 삽입 순서를 기억하며, 이 순서대로 반복된다.
set(key, value): 주어진 키에 값을 설정.
get(key): 주어진 키에 대한 값을 반환.
has(key): Map이 주어진 키를 가지고 있는지 확인.
delete(key): 주어진 키를 가진 요소를 제거.
clear(): 모든 요소를 제거.
size: Map의 요소 개수를 반환.