JavaScript · Middle · Frage 33 von 75
Was bringt Object.defineProperty(obj, 'id', { value: 1, writable: false })?
- 1Die Eigenschaft ist von außen nicht lesbar; sie wird privat
- 2Die Eigenschaft ist nicht überschreibbar und standardmäßig nicht aufzählbar
- 3Die Eigenschaft wird entfernt, sobald das Objekt nicht mehr benutzt wird
Antwort zeigen
Richtige Antwort: Die Eigenschaft ist nicht überschreibbar und standardmäßig nicht aufzählbar
Erklärung
Jede Eigenschaft hat die Flags writable, enumerable und configurable. Bei defineProperty sind nicht angegebene Flags standardmäßig false, also erscheint die Eigenschaft nicht in Object.keys und lässt sich nicht löschen. Auch Getter und Setter werden so definiert.