참조와 참조관계, 객체 복사방법
var 과일 = [사과,딸기,오렌지];
var 복사 = 과일;
복사[0] = 포도;
과일 = [포도,딸기,오렌지];var 함수 = function(){};
var 복사 = 함수;
함수.abc = 'abc';
복사.abc = 'abc';
복사.abc = 'def';
함수.abc = 'def';
Last updated
var 과일 = [사과,딸기,오렌지];
var 복사 = 과일;
복사[0] = 포도;
과일 = [포도,딸기,오렌지];var 함수 = function(){};
var 복사 = 함수;
함수.abc = 'abc';
복사.abc = 'abc';
복사.abc = 'def';
함수.abc = 'def';
Last updated
var obj = {a: 1, b:2}
var obj2 = {};//빈 객체를 만든다.
obj2.a = obj.a;//1
obj2.b = obj.b;//2
obj2.a = 3;
obj.a = 1;//값이 변하지 않고 그대로다.
var obj = {a: 1, b:2, c:3,};
var obj2 = {};
Object.keys(obj);
Object.keys(obj).forEach(function(key) {
obj2[key] = obj[key];
});
obj2.a = 4;
obj.a = 1;//값이 변하지 않고 그대로다.
var obj = {a: 1, b: { c:3},};//b는 다른 객체를 갖는다
var obj2 = {};
Object.keys(obj);
Object.keys(obj).forEach(function(key) {
obj2[key] = obj[key];
});
obj2.a = 4;
obj.a = 1;//값이 변하지 않고 그대로다.
obj2.b.c = 8;
obj.b.c = 8;//값이 바뀌어버렸다.
arr = [1,2,3];
arr2 = arr.slice();//참조관계를 끊으며 복사.var obj3 = JSON.parse(JSON.stringify(obj1));//복사
var arr3 = JSON.parse(JSON.stringify(arr));//복사