JavaScript · Middle · Запитання 33 з 75
Що дає Object.defineProperty(obj, 'id', { value: 1, writable: false })?
- ✓Правильна відповідь: Властивість не можна перезаписати; за замовчуванням вона ще й неперелічувана
- 2Властивість не можна прочитати ззовні, вона стане приватною
- 3Властивість видалиться, коли об'єкт перестануть використовувати
Пояснення
Кожна властивість має прапорці writable, enumerable, configurable. У defineProperty не вказані прапорці за замовчуванням false, тому властивість не з'явиться в Object.keys і її не можна буде видалити. Так само задають геттери й сеттери.