4
我正在閱讀ECMAScript 5(在瀏覽器中,使用ES5-shim,我知道它不支持所有內容)。而只是爲了消除混淆,考慮到我有這個對象(從this post被盜):ECMAScript 5中屬性描述符和屬性賦值的區別?
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
});
據我瞭解enumerable,可配置和可寫的設置爲真時,這樣定義一個屬性(這也將向後兼容傳統的JavaScript引擎)。我是否錯過了某些東西,或者只要我希望這是所需的行爲,就可以忽略詳細的屬性描述符?
謝謝,只是想確認一下。我還注意到,使用屬性描述符時的默認值不同。我仍然有點小心使用它,因爲無論如何shim默認回到遺留系統。 – Daff