Ключевые методы объектов в JavaScript Object.keys(obj) — формирует массив ключей, то есть имён свойств объекта Object.values(obj) — возвращает массив значений всех свойств объекта Object.entries(obj) — выдаёт массив пар вида [ключ, значение] Object.assign(target, ...sources) — переносит свойства из исходных объектов в целевой, выполняя поверхностное клонирование Object.freeze(obj) — переводит объект в неизменяемое состояние Object.hasOwn(obj, prop) — определяет, присутствует ли указанное свойство непосредственно в объекте Object.getPrototypeOf(obj) — получает прототип объекта Object.create(proto, descriptors) — создаёт объект с заданными…
Какие основные методы объектов в JavaScript вы знаете?
Ключевые методы объектов в JavaScript Object.keys(obj) — формирует массив ключей, то есть имён свойств объекта Object.values(obj) — возвращает массив значений всех свойств объекта Object.entries(obj) — выдаёт массив…
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Ключевые методы объектов в JavaScript
- Object.keys(obj) — формирует массив ключей, то есть имён свойств объекта
- Object.values(obj) — возвращает массив значений всех свойств объекта
- Object.entries(obj) — выдаёт массив пар вида [ключ, значение]
- Object.assign(target, ...sources) — переносит свойства из исходных объектов в целевой, выполняя поверхностное клонирование
- Object.freeze(obj) — переводит объект в неизменяемое состояние
- Object.hasOwn(obj, prop) — определяет, присутствует ли указанное свойство непосредственно в объекте
- Object.getPrototypeOf(obj) — получает прототип объекта
- Object.create(proto, descriptors) — создаёт объект с заданными прототипом и свойствами
- Object.defineProperty(obj, prop, descriptor) — создаёт или настраивает свойство с подробным описанием, включая геттеры, сеттеры и перечисляемость
Эти методы охватывают базовые задачи: чтение свойств, клонирование, проверку, настройку метаданных и работу с прототипами. Они регулярно применяются при изменении и расширении объектов в JS.
Подробный ответ
Основной ответ
В JavaScript объекты — это наборы пар ключ-значение. Встроенные методы позволяют получать и изменять эти данные, проверять свойства, создавать копии и управлять структурой объектов. К наиболее востребованным относятся методы для работы с ключами и значениями, проверки принадлежности свойств и клонирования.
Ключевые моменты
- Object.keys(obj) — возвращает массив всех собственных enumerable-ключей объекта. Такой результат удобно использовать при итерации.
- Object.values(obj) — формирует массив всех enumerable-значений, принадлежащих самому объекту.
- Object.entries(obj) — возвращает пары [ключ, значение], благодаря чему с данными можно работать более гибко.
- Object.hasOwn(obj, key) (начиная с ECMAScript 2022) — проверяет, является ли свойство собственным, а не унаследованным через прототип.
- Object.defineProperty(obj, prop, descriptor) — предоставляет детальный контроль над свойством объекта: позволяет настроить getter/setter, writable и enumerable.
- Object.freeze(obj) — блокирует изменения объекта: его свойства нельзя добавлять, удалять или изменять.
- Object.assign(target, ...sources) — переносит enumerable-свойства одного или нескольких объектов в целевой объект; метод применяют для поверхностного клонирования и объединения данных.
- Object.getPrototypeOf(obj) — возвращает прототип объекта и используется, в частности, при работе с наследованием.
Практический контекст
В прикладном коде Object.keys и Object.entries часто применяют для перебора данных, Object.assign — для объединения объектов конфигурации, а Object.freeze — чтобы защитить константные данные от изменений. Функция Object.hasOwn надёжнее устаревшего метода obj.hasOwnProperty, особенно если объект работает с унаследованными свойствами.