Я читаю немного больше о ECMAScript 5 (в браузере используется ES5-shim , который, я знаю, не поддерживает все).И просто чтобы устранить путаницу, учитывая, что у меня есть этот объект (украденный из этого поста ):
var Person = {
firstName: null, // the person’s first name
lastName: null // the person’s last name
};
Есть ли разница между этим:
var Employee = Object.create(Person, {
id: {
value: null,
enumerable: true,
configurable: true,
writable: true
}
});
И это:
var Employee = Object.create(Person);
Employee.id = null;
// Or using jQuery.extend
$.extend(Employee, {
id : null
});
Насколько я понял, перечислимые, настраиваемые и записываемые устанавливаются в true при определении свойства таким образом (что также было бы обратно совместимо с устаревшими механизмами JavaScript).Я что-то упускаю или могу просто опускать подробные дескрипторы свойств всякий раз, когда я хочу, чтобы это было желаемое поведение?