/** * 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));