μ£Όμ λ°°μ΄μ νμ΄μ μΈμλ‘ μ λ¬νκ±°λ, λ°°μ΄μ νμ΄ κ°κ°μ μμλ‘ λ£μ λ μ¬μ©λλ€.
function sum(a, b, c) {
return a + b + c;
}
const number = [4, 5, 6];
console.log(sum(...number)); //...numberμ ν΅ν΄ ν¨μ νΈμΆ -> 6
console.log(sum.apply(nu11, number)); // 6
...
μ λ°°μ΄ λ¦¬ν°λ΄μ μ΄λμμλ μ¬μ©λ μ μμΌλ©° μ¬λ¬ λ² μ¬μ©μ΄ κ°λ₯νλ€.
var = parts = ['shoulders', 'knees'];
var = lyrics = ['head', ...parts, 'and', 'toes'];
// -> ['head', 'shoulders', 'knees', 'and', 'toes']
let arr1 = [1, 2, 3];
let arr2 = [...arr1]; //arr1.slice()μ μ μ¬
arr2.push(4);
console.log(arr1); // [1, 2, 3] -> arr1λ μν₯μ λ°μ§ μμ
console.log(arr2); // [1, 2, 3, 4]
var obj1 = {foo: 'bar', x: 42};
var obj2 = {foo: 'baz', y: 13};
var cloneObj = {...obj1};
console.log(cloneObj); // { foo: 'bar', x: 42 }
var mergedObj = {...obj1, ...obj2};
console.log(mergedObj); // { foo: 'baz', x: 42, y: 13 }
//-> object.assign()κ³Ό μ μ¬νμ§λ§ λ체X
ν¨μκ° μ ν΄μ§μ§ μμ μμ 맀κ°λ³μλ₯Ό λ°°μ΄λ‘ λ°μ μ μλ€.
ν¨μμ λ§μ§λ§ 맀κ°λ³μ μμ ...
λ₯Ό λΆμ΄λ©΄ λ¨μ 맀κ°λ³μλ₯Ό λ°°μ΄μ λ£λλ‘ μ§μ νλ€.
function myFun(a, b, ...manyMoreArgs) {
console.log("a", a); //a one
console.log("b", b); //b two
console.log("manyMoreArgs", manyMoreArgs);
//manyMoreArgs [ 'three', 'four', 'five', 'six' ]
}
myFun("one", "two", "three", "four", "five", "six");
λλ¨Έμ§ λ§€κ°λ³μλ λ°°μ΄μ΄κΈ° λλ¬Έμ λ°°μ΄μμ μ¬μ©λλ λ©μλλ₯Ό μ μ©ν μ μλ€.
(spread λ¬Έλ²μ ν΅ν΄) λ°°μ΄μ΄λ κ°μ²΄μ μμ±μ ν΄μ²΄νμ¬ κ·Έ κ°μ κ°κ°μ λ³μμ μλ‘ ν λΉνλ κ³Όμ
var a, b, rest;
[a, b] = [10, 20];
console.log(a); // 10
console.log(b); // 20
[a, b, ...rest] = [10, 20, 30, 40, 50];
console.log(a); // 10
console.log(b); // 20
console.log(...rest) // [30, 40, 50]
μ€λμ μλ°μ€ν¬λ¦½νΈ ES6 λ¬Έλ² μ€ spreadμ restμ λν΄ κ³΅λΆνλ€. κ·Έλμ λ°°μ λ λ°°μ΄κ³Ό κ°μ²΄μ λ΄μ©λ λ€μ 볡μ΅ν΄λ³΄λ©΄μ μλ‘μ΄ λ¬Έλ²μ λν΄ μκ²λμλ€. κ·Έλ¦¬κ³ μ€λμ κ°μ₯ ν° μνμ μ€ μΈμ
μμμ ν΄λ‘μ μ μμλ€! ν΄λ‘μ λ μΈλΆ λ³μμ κ°μ λ΄λΆ ν¨μμμ μ¬μ©ν κ²
μ΄μλ€. μ¦, λ΄λΆ ν¨μμμ μΈλΆ ν¨μμμ μ μΈλ λ³μλ₯Ό μ¬μ©κ°λ₯ νλ€λ©΄ ν΄λ‘μ λ₯Ό μ¬μ©νλ€κ³ λ³Ό μ μλ κ²μ΄λ€. μ΄λ κ² μ½κ°μ 볡μ‘ν ν΄λ‘μ λ μ μ¬μ©ν κΉλΌλ μλ¬Έμ κ°μ§κ² λμλ€. ν¬λ£¨λμ λ΅λ³μ ν΅ν΄ λ΄κ° μ΄ν΄ν λ°λ‘λ ν΄λ‘μ λ₯Ό μ¬μ©ν΄ λ΄λΆ ν¨μμμλ§ μ κ·Όμ ν μ μλλ‘ ν΄ λ€λ₯Έ λͺ¨λ κ³³μμ κ°μ΄ μλμΉ μκ² λ³κ²½λλ κ²μ λ§κΈ° μν΄ μ¬μ©λλ€κ³ μ΄ν΄νλ€. μ΄λ μΊ‘μν λ μ 보μ μλμ κ΄λ ¨μ΄ μλ€κ³ λ λ§μν΄μ£Όμ
¨λλ° μ£Όλ§μλ ν΄λΉ λ΄μ©μ λν΄ λ³΅μ΅νλ©° ν λ² μ°Ύμλ΄μΌκ² λ€.