JavaScript Reflect.ownKeys() — усі власні ключі об'єкта
Метод Reflect.ownKeys() повертає всі власні ключі об'єкта — включно з символами й неперелічуваними.
Загальний опис
Це найповніший спосіб побачити, що в об'єкті насправді є. Object.keys() показує лише перелічувані рядкові ключі — тобто ховає і символи, і те, що навмисно приховали через defineProperty.
Успадковане він не бере — лише власне.
Порядок гарантований: спершу цілочислові ключі за зростанням, потім рядкові в порядку додавання, і символи наприкінці.
автор: NagarD
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| ownKeys | 49+ | 42+ | 10+ | 36+ | 12+ | - |
| Переглядач | ||||
|---|---|---|---|---|
| ownKeys | 49+ | yes | yes | 10+ |
Приклади
+ запропонувати свій приклад у пісочниці
Object.keys ховає половину — Reflect.ownKeys показує все.
const id = Symbol('id');
const user = { name: 'Іван', [id]: 42 };
Object.defineProperty(user, 'secret', {
value: 'приховано',
enumerable: false,
});
console.log(Object.keys(user)); // ['name'] — і все
console.log(Reflect.ownKeys(user)); // ['name', 'secret', Symbol(id)]
Коментарі
Коментарів ще немає — будьте першим!