Reading attribute characteristics using the Object.getownpropertydescriptor method
' Use strict ';varperson ={};object.defineproperties (person, {_age: {configurable:true, writable:true, Enumerable:true, Value:-1,}, age: {Configurable:false, Enumerable:false, get:function () { return This. _age; }, set:function(newvalue) {if(newvalue <= 0 | | newvalue > 100) { This. _age = 18; } Else { This. _age =NewValue; } } }});varDescriptor1 = Object.getownpropertydescriptor (person, ' _age ');//trueConsole.log (descriptor1.configurable);//trueConsole.log (descriptor1.writable);//trueConsole.log (descriptor1.enumerable);//-1Console.log (descriptor1.value);varDescriptor2 = Object.getownpropertydescriptor (person, ' age ');//falseConsole.log (descriptor2.configurable);//falseConsole.log (descriptor2.enumerable);//[Function]Console.log (descriptor2.get);//[Function]Console.log (Descriptor2.set);
JavaScript's Read attribute feature