ES6

spread operator[ES6]

신입주니어개발자 2021. 11. 24. 15:31

 

Spread Opertor(스프레드 오퍼레이터, 스프레드 연산자.)  = 대괄호를 전부 제거해주는 역활 

 

 

배열

 

let array= ['hello', 'world'];

 

console.log(array);
console.log(...array);


['hello', 'world']
hello world

 

 

변수

 

let letter= 'hello';
console.log(letter);
console.log(...letter);


hello
h e l l o 

 

 

deep copy

 

var a = [1,2,3];
var b = [4,5];
var c = [...a, ...b];

c = [1,2,3,4,5] (deep copy할떄 유용)

 

 

var a = [1,2,3];
var b = a;

등호로 복사를 하시면 a와 b 변수는 [1,2,3]을 각각 따로 하나씩 가진게 아니라 값 공유가 일어난다

->배열이니까 비원시타입이라 

 

 

객체 property copy

 

let o1 = { a : 1, b : 2};
let o2 = { a : 3, ...o1 };
console.log(o2);


이렇게 a라는 값이 중복이 발생하면  뒤에 오는 a로 적용

출력해보면 a : 1 이라는 자료가 담겨짐

 

 

함수 파라미터 넣을떄

 



function add(a,b,c){
   console.log(a + b + c)
}

let array= [10, 20, 30];

add(...array);  //요즘방식
add.apply(undefined, array);  //옛날방식                 // add(array[0], array[1], array[2]);