Object.keys() возвращает массив имен всех перечисляемых свойств объекта. Удобно для перебора ключей, проверки количества свойств или преобразования объекта в другие структуры данных.
const user = { name: 'Иван', age: 25 };
const keys = Object.keys(user);
console.log(keys); // ['name', 'age']Object.keys() — это метод для получения всех ключей (имен свойств) объекта. Он очень простой и часто используется при работе с объектами.
Возвращает массив строк — имен всех собственных перечисляемых свойств:
const user = { name: 'Иван', age: 25 };
const keys = Object.keys(user);
console.log(keys); // ['name', 'age']const user = { name: 'Иван', age: 25, city: 'Москва' };
const count = Object.keys(user).length;
console.log(count); // 3const config = { theme: 'dark', lang: 'ru' };
Object.keys(config).forEach(key => {
console.log(key, config[key]); // theme dark, lang ru
});const obj = { name: 'Иван' };
// Не включает унаследованные методы типа toString
console.log(Object.keys(obj)); // ['name']const obj = { name: 'Иван' };
// Скрываем свойство
Object.defineProperty(obj, 'hidden', {
value: 'секрет',
enumerable: false
});
console.log(Object.keys(obj)); // ['name'] - hidden не видноconst user = { name: 'Иван', age: 25 };
// ❌ Сложный способ
for (let key in user) {
if (user.hasOwnProperty(key)) {
console.log(key);
}
}
// ✅ Простой способ
Object.keys(user).forEach(key => {
console.log(key);
});const obj = { a: 1, b: 2 };
// Проверить, есть ли свойства
if (Object.keys(obj).length > 0) {
console.log('Объект не пустой');
}// ❌ Думаем, что получим значения
const obj = { a: 1, b: 2 };
const result = Object.keys(obj);
console.log(result); // ['a', 'b'] - ключи, не значения!
// ✅ Для значений используем Object.values()
const values = Object.values(obj);
console.log(values); // [1, 2]// ❌ Попытка использовать с примитивами
Object.keys(42); // Ошибка!
// ✅ Только с объектами
Object.keys({ value: 42 }); // ['value']Object.keys() удобен, когда нужно работать только с ключами объекта. Это проще, чем for…in, и не требует проверок на наследование.
Хотите больше статей для подготовки к собеседованиям? Подписывайтесь на EasyAdvice, добавляйте сайт в закладки и совершенствуйтесь каждый день 💪