Встречается на собеседованиях • сегодня

Можно ли создать свойство доступное только для чтения

Да, можно создать свойство только для чтения с помощью 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 — ошибка)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы