반응형
35 스프레드 문법
뭉쳐있는 여러 값들의 집합을 펼쳐서 개별적인 값의 목록으로 만든다.
이터러블만 가능하다.
스프레드 문법의 결과는 값이 아니다. 즉, 연산자가 아니라는 말
따라서 스프레드 문법의 결과는 변수에 할당할 수 없다.
객체리터럴의 프로퍼티 목록, 배열의 요소, 함수 호출문의 인수로 사용가능하다.
객체 리터럴 내부에서 사용하는 경우
스프레드 프로퍼티 제안은 일반 객체를 대상으로도 스프레드 문법의 사용을 허용한다.
기존에는 Object.assign메서드를 사용하여 여러개의 객체를 병합하거나 특정 프로퍼티를 변경, 추가했다.
36 디스트럭처링 할당
구조분해할당이라고도 하며, 구조화된 배열과 같은 이터러블, 객체를 구조 파괴하여 1개이상의 변수에 개별적으로 할당하는 것을 말한다.
배열 디스트럭처링 할당
const arr=[1,2,3];
const [one, two, three]=arr;
우변에 이터러블을 할당하지 않으면 에러가 발생함
할당기준은 배열의 인덱스이다. 즉, 순서대로 할당된다는 말
다만, 변수 개수와 이터러블 개수가 반드시 일치할 필요는 없다.
기본값 할당
const arr=[1,2,3];
const [a,b,c=4]=arr;
Rest 요소
const arr=[1,2,3];
const [a,...b]=arr;
console.log(a,b); //1, [2,3]
객체디스트럭처링 할당
프로퍼티 키를 사용하여 할당한다.
const person={
name:"lee",
age:12,
}
const {name, age}=person;
별칭도 사용가능하다.
const person={
name:"lee",
age:12,
}
const {name:myname, age:myage}=person;
console.log(myname,myage);
반응형