📚...

Spread Operator

////////////////////////////////////////
function sum (x,y,z){
 return x+y+z;
}

console.log(sum(1,2,3));

-> 6
////////////////////////////////////////
let arr = [10,20,30];
console.log(sum(...arr));

-> 60
////////////////////////////////////////
function sum (a,b,c,d,e){
return a+b+c+d+e;
}

let arr = [20,30];

console.log(
sum(10, ...arr, 40, 50);
);

-> 150

////////////////////////////////////////

let face1 = ['aa', 'bb', 'cc'];
let face2 = ['11', ...face1, '22'];
console.log(face2);

-> ['11', 'aa', 'bb', 'cc', '22']
////////////////////////////////////////
original array 영향 받음
let arr = [1,2,3];
let arrcpy = arr;
console.log(arrcpy);

->  [1, 2, 3]
arr[2] = 4;
arrcpy
[1, 2, 4]

////////////////////////////////////////
original array 영향 안받게
let arr = [1,2,3];
arr  -> [1, 2, 3]
let arrcpy = [...arr];
arrcpy -> [1, 2, 3]
arr[2] = 4;
arrcpy -> [1, 2, 3]
arr -> [1, 2, 4]

////////////////////////////////////////
object에 적용해보기.

let drinks = {
    caffe: 'latte',
    coca: 'cola'
}

let newDrinks = {
    lemon: 'tea',
    orange: 'juice',
    ...drinks
}

console.log(newDrinks)
-> {lemon: 'tea', orange: 'juice', caffe: 'latte', coca: 'cola'}

drinks['caffe'] = 'zzz';
'zzz'

newDrinks
{lemon: 'tea', orange: 'juice', caffe: 'latte', coca: 'cola'}

drinks
{caffe: 'zzz', coca: 'cola'}
////////////////////////////////////////
////////////////////////////////////////

Rest Operator

function printNums(num, ...num2){
    console.log(num, num2);
}

printNums(1,2,3,4,5);
-> 1 [2, 3, 4, 5]

Last updated