オブジェクトのプロパティを封印しようとしています。
私の質問は、ここで Object.seal(personObject) を指定したことです。この特定のオブジェクトは封印されており、このオブジェクトで構成または拡張を行うことはできませんが、personObject_2 について言及しなかったように、拡張または構成を許可します。
プロトタイプでどのように作成できますか.つまり、どのクラスのタイプの人もこのシールを持っている/尊重する必要があります.そのような動作を達成できますか
"use strict";
var personModule=(function (module) {
var person=function (fname,lname) {
Object.defineProperty(this,'firstName',{
get:function () {
return fname;
}
,set:function (newValue) {
fname=newValue;
},
configurable:true
});
Object.defineProperty(this,'lastName',{
get:function () {
return lname;
}
,set:function (newValue) {
lname=newValue;
},
configurable:true
});
Object.defineProperty(this,'fullName',{
get:function () {
return fname+lname;
},
configurable:true
});
}
module.person=person;
return module;
})(personModule || {});
var personObject=new personModule.person( "Raju","Rani");
console.log(personObject.fullName);
Object.seal(personObject);
//delete personObject.firstName;-->It throws error here
var personObject2=new personModule.person( "Shiva","Kumar");
delete personObject2.firstName;
console.log(personObject2.firstName);
ありがとう