var copyObjectViaJSON = function (target) {
return JSON.parse(JSON.stringify(target));
}
var obj = {
a: 1,
b: {
c: null,
d: [1,2]
}
var obj2 = copyObjectViaJSON(obj);
obj2.a = 3;
obj2.b.c = 4;
obj.b.d[1] = 3;
console.log(obj); // { a: 1, b: { c: null, d: [1,3] } }
console.log(obj2); // { a: 3, b: { c: 4, d: [1,2] } }
* 함수 안에 존재하는 변수/함수선언에 대한 정보를 기억하고 있다가 실행시킨다.
* 실제로 코드가 끌어올려지는 건 아니며, 자바스크립트 Parser 내부적으로 끌어올려서 처리하는 것이다.