728x90
assign메소드는 주로 객체를 복사하거나 병합할떄 사용하는 함수이다.
함수의 예제 식은 아래와 같다.
Object.assign(target, ...sources)
let espresso = ['espresso'];
let americano = Object.assign( [], espresso);
americano.push('water');
let caffeLatte = Object.assign( [], espresso);;
caffeLatte.push('milk');
let caffeMocha = Object.assign([], caffeLatte);
caffeMocha.push('chocolateSyrup');
let vanillaLatte = Object.assign([], caffeLatte);
vanillaLatte.push('vanillaSyrup');
// 테스트 코드
console.log(espresso);
console.log(americano);
console.log(caffeLatte);
console.log(caffeMocha);
console.log(vanillaLatte);
위 예제는 assign 메소드로 다른 변수에 배열에 복사하여 추가하는 예제이다.
위 예제를 사용한 까닭은 만약 x 변수의 배열을 y변수가 복사를 하게 되면 그 값을 복사해 오는 것이 아니라,
그 값을 가르키고 있는 주소값을 복사해온다 .
c언어를 해보셨던 분이라면 포인터를 생각하면 편하다. 그래서 복사해온 y변수에 값을 추가하였지만 x에도 같은 값이 추가된다. 왜냐 !? 같은 주소를 가르키고 있기 때문에 !
그런것을 방지하기 위해 assign 을 사용하면 내가 원하는 변수에 값을 추가할 수 있다.
728x90
'JavaScript' 카테고리의 다른 글
카드 HTML/CSS/JS (transform 인터랙션) (0) | 2021.07.31 |
---|---|
최소지폐로 거스름돈 계산하기 (0) | 2020.08.29 |
팰린드롬 확인하기 (0) | 2020.08.29 |
배열 나누어 각각 담기 (0) | 2020.08.27 |
자바스크립트 배열 가지고 놀기 (0) | 2020.08.27 |