Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Middle+
6
Извлечение выбранных полей объекта с доступом только для чтения
Условие задачи
Необходимо написать функцию getObjectValues, принимающую два аргумента: исходный объект и массив строк‑ключей. Функция должна сформировать и вернуть новый объект, в котором присутствуют лишь те свойства, имена которых указаны в массиве, и их значения. При этом свойства полученного объекта должны быть защищены от изменения – любые попытки записать новое значение должны приводить к ошибке доступа.
const user = {
name: 'dima',
age: 24,
channel: 'SIBERIA CAN CODE - Frontend',
};
const nameAndChannel = getObjectValues(user, ['name', 'channel']);
console.log('@', nameAndChannel);
nameAndChannel.name = 'ne dima'; // error readonly
В решении можно воспользоваться методами Object.defineProperty, Object.defineProperties или Object.freeze для обеспечения неизменяемости свойств.