나머지 연산자
나누기를 했을 때 나머지를 구하는 %와 같은 연산자는 아니다.
배열의 일부를 변수에 할당할 때 쓴다. 비구조화 시 나머지 원소들을 다시 배열로 만든다. a에는 1만 들어가고 ...b를 하면 b에는 [2,3,4]가 들어간다.
const [a,...b]=[1,2,3,4]
console.log(a)
console.log(b)
전개 연산자
배열에 있는 원소들을 함수 인자들에 전개시킬 때 사용한다. arr에 있는 원소 1,2,3이 각각 func함수의 x,y,z로 전달된다.
function func(x,y,z){
console.log(x)
console.log(y)
console.log(z)
}
const arr=[1,2,3];
func.apply(null,arr)
객체 전개
객체를 다른 객체에서 전개시킬 수 있다. 기존의 객체를 변형시키지 않고 추가하는 게 흔한 경우이다.
const A = {a:1,b:2}
const B = {...A,c:4}
전개 순서에 따라 결과가 달라진다. 처음 온 값은 이후에 온 값에 의해 재정의된다.
const X = {x:1,y:2,z:3}
const Y = {...X,x:5}
console.log(Y)
결과는 {x:5,y:2,z:3}
const X = {x:1,y:2,z:3}
const Y = {x:5,...X}
console.log(Y)
결과는 {x:1,y:2,z:3}
두 객체를 합치는 방법
const X = {x:1,y:2,z:3}
const Y = {x:3,z:5}
const XY = {...X,...Y}
console.log(XY)
결과는 {x:3,y:2,z:5}
'JS > ECMAscript' 카테고리의 다른 글
멀티라인 문자열 (0) | 2018.12.29 |
---|---|
화살표 함수 arrow function (0) | 2018.12.29 |
기본 인자 (0) | 2018.12.29 |
객체 리터럴 변경사항 (0) | 2018.12.29 |
var vs let vs const (0) | 2018.12.29 |