전개 연산자를 이용한 배열 추가

레퍼런스를 유지한 채로, 기존 배열 뒤에 뭔가를 추가할 때 … (전개연산자)를 이용한 방법 유용하군요.

var a = [3,4,5];
var b = a;
var c = [6,7,8];
a.push( ...c );
console.log(b);

[ 3, 4, 5, 6, 7, 8 ]

ES6 (5?) 이전엔 이런것을 수행하기 위한 핵이 뭐가 있었죠…?

1개의 좋아요

써놓고, 바로 생각해보니

Array.prototype.push.apply( a, c )

였었다는 생각이… ㅎ.

2개의 좋아요

가장 많이 사용하는 패턴은 새 객체를 만들면서 값을 바꾸거나, object를 merge할 때죠.

const a = { test: 'value', move: 'fast' };
const b = { ...a, move: 'slow' };

console.log(a, b);
{test: "value", move: "fast"} {test: "value", move: "slow"}
a = a.concat(b);

:grin:

a = a.concat( c ) 는 b 와 더이상 상관이 없어지므로, console.log(b) 의 값은 변하지 않은채 원래의 a 가 나오므로 원하는것이 아니옵니다.

이제야 원하시는게 뭔지 이해했습니다.
제가 너무 설렁설렁 봤나봐요 :pray: :relaxed:

1개의 좋아요