[250102] 그 유명한 JS의 ES6

김경민·2025년 1월 2일

TIL

목록 보기
10/64

오늘 들은 강의는 ES6, 일급 객체, Map, Set, 데이터 타입 및 할당에 대하여 공부하였습니다.

ES6

대표적 문법 향상 및 변경의 버전이기에 항상 언급이 됩니다.

let,const

가장 대표적인 업데이트로는 변수의 선언의 키워드입니다.
재할당이 가능하고 재선언이 불가능한 키워드 let

재할당과 재선언이 불가능하고 초기값이 존재해야 선언이 가능한 키워드 const

arrow function () => {}

function의 역할을 같이하며 this의 선언이 함수를 선언할 때에 정해지는 arrow function

? :

if else문 대신 제가 자주 사용하려 하는 삼항 연산자

구조 분해 할당

이번 강의를 통해 처음 접하며 처음 사용해본 구조 분해 할당입니다.
여러 변수를 동시에 선언하거나 배열 안 요소를 하나하나 지정해가며 선언 할 필요 없이 선언 할 수 있습니다.

//변수 동시 선언
let [ex1, ex2] = [1, 'temp']; //ex1 = 1 , ex2 = 'temp'

let arr = ['ex1', 'ex2', 'ex3'];
let [a, b, c] = arr; // a = 'ex1, b = 'ex2', c = 'ex3'

객체의 속성도 분해 할 수 있습니다.

let people = {name: '철수', age: 17};
let {name, age} = people; // name = people.name;, age = people.age;

//새로운 이름으로 할당 및 추가
let {name: newName, age: newAge} = people; //name, age는 defined, newName = people.name;, newAge = people.age;

let {name, age, gender = 'male'} = people; // gender 키 에 'male'값 추가

스프레드 연산자나머지 매개 변수

배열이나 객체를 전개하여 추가할 때에 사용합니다. [...배열] 혹은 {...객체}로 쓰입니다.
나머지 매개 변수는 스프레드 연산자를 활용해 함수의 지정 매개변수의 값을 초과한 값들의 입력을 받을 때에 ...agrs를 사용합니다.

일급 객체

함수를 객체처럼 여러가지 방식으로 다루는 문법입니다.
함수를 변수에 할당이 가능하고 어느 한 함수를 다른 함수에서 콜백하여 함수를 인자로 다른 함수에 전달이 가능하고,
어느 한 함수를 다른 함수에서 반환이 가능하며 함수는 객체와 배열의 요소 안에서 선언이 가능합니다.

Map과 Set

Map

맵을 만들어 객체와 배열을 효율적으로 처리하는 구조입니다.

  • new Map() – 맵을 생성합니다.
  • map.set(key, value) – key를 이용해 value를 저장합니다.
  • map.get(key) – key에 해당하는 값을 반환합니다. key가 존재하지 않으면 undefined를 반환합니다.
  • map.has(key) – key가 존재하면 true, 존재하지 않으면 false를 반환합니다.
  • map.delete(key) – key에 해당하는 값을 삭제합니다.
  • map.clear() – 맵 안의 모든 요소를 제거합니다.
  • map.size – 요소의 개수를 반환합니다.

Set

맵과 다르게 키를 저장하지 않고 고유 값을 저장하는 자료 구조 입니다.
값이 중복되지 않고 유일한 요소로만 구성됩니다.

  • new Set() - 셋을 생성합니다.
  • set.add() - 셋에 값을 추가합니다.
  • for (const value of set.values()) {} - 셋은 value값 만 가지고 있기에 values() 메소드를 사용하여 반복합니다.
  • set.size - 셋의 크기를 확인합니다.

데이터 타입 및 할당

데이터 값의 타입은 기본형과 참조형으로 구분됩니다.
이 둘의 구분 기준은 값의 저장 방식과 불변성 여부입니다.
기본형 - 값이 담긴 주소값을 바로 복제하는 형식이며 불변성을 띕니다.
참조형 - 값이 담긴 주소값들을 가리키는 주소값을 복제하는 형식이며 불변성을 띄지 않습니다.

오늘 공부한 내용은 이정도 정리 정도면 다 이해가 되는것 같습니다.

profile
김경민입니다.

0개의 댓글