...
모든 괄호를 없애줌.
중괄호, 대괄호, 소괄호 안에서 쓸 수 있음. (그냥 쓰면 에러남)
var arr = ['hello', 'world'];
console.log(...arr); // hello world
var o1 = {a:1, b:2};
var o2 = {...o1, c:3};
console.log(o2); // {a:1, b:2, c:3};
var 문자 = 'hello';
console.log(...문자) // h e l l o
console.log(문자[0]) // h (문자도 array처럼 indexing이 가능하다.)
var a = [1,2,3];
var b = [4,5];
var c = [...a, ...b]; // [1,2,3,4,5]
: 각각 독립적인 값을 가지도록 reference data type
을 복사하는 것
reference data type
: array, object
var a = [1,2,3];
var b = a;
a[3] = 4;
console.log(a); // 1,2,3,4
consol.log(b); // 1,2,3,4 등호로 복사하면 값을 공유함
var a = [1,2,3];
var b = [...a];
a[3] = 4;
console.log(a); // 1,2,3,4
consol.log(b); // 1,2,3 각각 독립적인 값을 가짐.
object에서 copy 하다가 값 중복이 일어나는 경우 : 가장 뒤에 있는걸 적용함.
var o1 = {a:1, b:2};
var o2 = {...o1, a:2};
consol.log(o2); // {a:2, b:2};
function 더하기(a,b,c){
consol.log(a+b+c)
}
var arr = [10,20,30];
더하기(arr[0],arr[1].arr[2]); // 주먹구구식
더하기.apply(undefined, arr); // 옛날방식
더하기(...arr) // 요즘방식
person.인사.apply(person2)
person.인사.apply(person2, [1,2])
person.인사.call(person2)