let arr = ['hello', 'world'];
console.log(arr);

배열로 나옴

 

let arr = ['hello', 'world'];
console.log(...arr);

대괄호 제거

 

var text = 'hello';
console.log(text);

 

let text = 'hello';
console.log(...text);
// 문자 해체
// console.log('h', 'e', 'l', 'l', 'o');

 

활용!

- arr복사 , 합치기 할 때 유용함

- Deep copy(복사한 array, object에서 독립적인 값)

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

var c = [...a, ...b];
console.log(c);
// [1,2,3,4,5];

 

 

shallow copy(참조에 의한 할당으로 같은 데이터(주소)를 가짐

var a = [1,2,3];
var b = a;
// a의 값을 그대로 복사

a[3] = 4;
// a 값의 3번째 index의 4 값을 추가하게 되면
// b는 a를 그대로 복사했기 때문에 추가하지 않아도 3번째 index에 4가 추가됨
// a와 b 모두 [1,2,3,4];

Deep copy(값만 복사해서 사용 / 다른 주소를 가짐)

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

a[3] = 4;

// a는 [1,2,3,4];
// b는 [1,2,3];  a에서 독립적인 값을 가질 수 있음

 

 

object 복사도 같음

var o1 = { 
  a: 1,
  b: 2
};

var o2 = {
  ...o1,
  // 복사
  c: 3
}

console.log(o2);
// { a: 1, b: 2, c: 3 }

'개발 > js & jquery' 카테고리의 다른 글

[Javascript] Template literals(ES6)  (0) 2022.12.02
[Javascript] 화살표 함수  (0) 2022.10.27
[Javascript] this  (0) 2022.10.27
[Javascript] javascript로 태그 만들어서 집어넣기  (0) 2022.10.25

+ Recent posts