0
우리는 다음과 같은 코드가 있습니다자바 스크립트 상속 된 객체가 할당 된 새 데이터 멤버를 만들었습니까?
var Product = function(){
}
Product.prototype =
{
GetName: function(){
return this.name;
},
name: "something"
};
var Apparel = function(){
}
Apparel.prototype = Object.create(Product.prototype);
var jeans = new Apparel();
console.log(jeans.name);
console.log(jeans.GetName());
jeans.name = "Levis";
console.log(jeans.name);
console.log(jeans.GetName());
출력 : 뭔가 리바이스 리바이스
그래서 모든 것이 예상대로 작동 뭔가! 하지만, 문제는 우리가 디버거에서 볼 수있는 jeans.name = "Levis"할당을 실행하자마자 두 개의 이름입니다. 하나는 상위 제품 용이고 다른 하나는 의류 용입니다. 그게 메모리 낭비 아닌가요? 이름은 부모의 속성이기 때문에이 속성이 사용되며 새 속성이 만들어지지 않을 것으로 예상됩니다.
이유는 무엇입니까? 내가 입력을 마무리
감사
리 오르는