본문 바로가기
Front-End (web)

[Typescript] 얕은 복사

by 햄과함께 2019. 7. 24.
320x100
// test.ts
const srcMember = { name: "member" };
const destMember = srcMember;
destMember.name = "change";
  
console.log(`srcMember : ${srcMember.name}`);
console.log(`destMember : ${destMember.name}`);

ts 파일 작성

srcMember라는 객체를 하나 만들고

destMember에 srcMember를 복사한뒤(=) destMember의 name만 변경

$ tsc test.ts

컴파일

// test.js
const srcMember = { name: "member" };
const destMember = srcMember;
destMember.name = "change";
console.log(`srcMember : ${srcMember.name}`);
console.log(`destMember : ${destMember.name}`);

컴파일 결과인 js 파일

실행결과(srcMember, descMember 둘 다 변경됨)

jsbin 사이트에서 결과를 확인해본다.

javascript 가 객체 복사 시 = 로 하면 얕은 복사(참조 복사)가 되기 때문에 타입스크립트도 기본적으로 얕은 복사가 된다.

320x100

댓글