lesson_3.js 853 Bytes
/**
 * Created by vitaliy on 21.09.15.
 * Аксессоры и атрибуты свойств
 * ES5
 */

var person = {
    name:"Vitaliy",
    _age:20,
     get age(){
         return this._age;
     },
    set age (value){
        this._age = value<0 ? 0 : value > 130 ? 130 : value;
    }
};
console.log(person.age);
person.age = 150;
console.log(person.age);

console.log(Object.getOwnPropertyDescriptor(person, "name"));
console.log(Object.getOwnPropertyDescriptor(person, "age"));

Object.defineProperty(person,"gender",{
    value: "male",
    writable: false,
    enumerable: false,
    configurable: false

});
console.log(Object.getOwnPropertyDescriptor(person, "gender"));
console.log(person);

person.gender = "female";

console.log(person.gender);

for(property in person){
    console.log(property);
}

console.log(Object.keys(person));