Es scheint, dass Funktionen des fehlen [[Wert]] Eigenschaft zuzuschreiben, die auf anderen Objekteigenschaften vorhanden ist:Warum haben Funktionen kein Attribut [[Value]]?
function a() {
console.log('Hello World');
}
var descriptor = Object.getOwnPropertyDescriptor(window, 'a');
// descriptor contains:
Object {writable: true, enumerable: true, configurable: false}
Im Vergleich zu:
var person = {
age: 1
};
var descriptor2 = Object.getOwnPropertyDescriptor(person, 'age');
// descriptor2 contains:
Object {value: 1, writable: true, enumerable: true, configurable: true}
Warum ist ein [[Wert nicht da ]] Attribut wie die meisten regulären Objekteigenschaften? Ich würde erwarten, dass es den eigentlichen Funktionscode enthalten würde, aber es sieht so aus, als ob es für Funktionen nie existiert?
Der Quellcode der Funktion als String, denke ich? – technico
Haben Sie den Deskriptor in der Konsole erweitert? –
Ich bekomme 'Object {value: a(), beschreibbar: true, aufzählbar: true, konfigurierbar: false}' –