Какие полезные статические методы `Object` существуют в JavaScript?
СобеседованиеОбъектыПрототипы и классы
- Создание и прототипы:
Object.create(proto, descriptors) — создаёт объект с указанным прототипом
Object.assign(target, ...sources) — копирует перечисляемые свойства (shallow)
- Перечисление:
Object.keys(obj) — массив собственных перечисляемых ключей
Object.values(obj) — массив значений
Object.entries(obj) — массив пар [key, value]
Object.fromEntries(iterable) — создаёт объект из пар (обратная к entries)
- Дескрипторы:
Object.defineProperty() / Object.defineProperties()
Object.getOwnPropertyDescriptor() / Object.getOwnPropertyDescriptors()
- Иммутабельность:
Object.freeze() / Object.isFrozen()
Object.seal() / Object.isSealed()
Object.preventExtensions() / Object.isExtensible()
- Сравнение:
Object.is(val1, val2)
- Группировка:
Object.groupBy() (ES2024)
- Проверка:
Object.hasOwn(obj, prop) (ES2022)