아래 예:
var testVar = {
a : {
테스트: 1
}
},
test1 = {},
test2 = {};
test1.a = testVar.a;
test2 .a = testVar.a;
/*
test1을 삭제합니다. a; 1}
console.log(testVar.a); // 객체 {test: 1}
*/
delete testVar.a;
console.log(test1.a); // 객체 {test: 1}
console.log(test2.a); // 객체 {test: 1}
console.log log(testVar.a); // 정의되지 않음
테스트를 통해 JavaScript 삭제로 삭제된 객체가 참조 유형인 경우 참조된 객체가 아닌 참조된 객체에 대한 포인터를 삭제하는 것을 알 수 있습니다. 따라서 testVar.a를 삭제하더라도 test1.a가 가리키는 객체는 여전히 삭제되지 않습니다.
자바스크립트 삭제 키워드의 원칙에 대한 자세한 내용을 보려면 다음을 권장합니다.
http://perfectionkills.com/understanding-delete/
번역본:
http://www.ituring.com.cn/article/7620