Что выведет код? Скрипт выполняется в нестрогом режиме. Запишите строки по порядку, по одной на строку.
В работе: Модели данных на прототипах и классах с get/set: почему присваивание «не сработало».
Как проверяем
Код не запускаем — предскажите вывод. Пишите строки по порядку, по одной на строку; пробелы по краям не важны. Ответ один на подход: после него показываем разбор.
Источник: на задачах Сбера: лимиты карт и ставки вкладов. Условие пересказано своими словами.
Давали на собеседовании?
const base = {_limit: 50000,get limit() { return this._limit; },set limit(v) { this._limit = Math.min(v, 100000); },};const card = Object.create(base);card.limit = 250000;console.log(card.limit, base.limit);console.log(Object.keys(card).join(','));console.log(card.hasOwnProperty('limit'));const rates = { get rate() { return 19.5; } };const deposit = Object.create(rates);deposit.rate = 25;console.log(deposit.rate);Object.defineProperty(deposit, 'rate', { value: 25, enumerable: true });console.log(deposit.rate, rates.rate);console.log(Object.keys(deposit).join(','), Object.getPrototypeOf(deposit) === rates);