Встречается на собеседованиях • сегодня
Можно ли создать свойство доступное только для чтения
Да, можно создать свойство только для чтения с помощью Object.defineProperty().
javascript
const obj = {};
Object.defineProperty(obj, 'readOnlyProp', {
value: 'Нельзя изменить',
writable: false, // запрещает изменение
enumerable: true, // видно в for...in и Object.keys()
configurable: false // запрещает удаление и переопределение
});
obj.readOnlyProp = 'Попытка изменения'; // Не сработает (в strict mode — ошибка)
console.log(obj.readOnlyProp); // "Нельзя изменить"
text
Также в классах можно использовать геттеры без сеттеров:
```javascript
class Example {
constructor(value) {
this._value = value;
}
get value() { return this._value; }
}
const ex = new Example(42);
ex.value = 100; // Не изменится (в strict mode — ошибка)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы