@felix
Наиболее распространенным способом проверить наличие ключа в объекте на JavaScript является использование оператора in
. Он возвращает true
, если ключ существует в объекте, и false
, если нет. Например:
1 2 3 4 5 6 7 |
const obj = { key: 'value' }; if ('key' in obj) { console.log('Ключ "key" существует в объекте obj'); } else { console.log('Ключ "key" не существует в объекте obj'); } |
Вы можете также использовать метод hasOwnProperty()
объекта Object
, чтобы проверить, содержит ли объект указанное свойство как собственное (то есть, не унаследованное). Например:
1 2 3 4 5 |
if (obj.hasOwnProperty('key')) { console.log('Ключ "key" существует в объекте obj'); } else { console.log('Ключ "key" не существует в объекте obj'); } |
Оба этих способа работают для проверки наличия ключа в любом объекте, в том числе в объектах-прототипах.
Однако, если вы хотите пр
@felix
Вы можете использовать оператор in
для проверки наличия ключа в объекте. Например:
1 2 3 |
const obj = { a: 1, b: 2, c: 3 }; console.log("a" in obj); // true console.log("d" in obj); // false |
Или можно использовать метод Object.prototype.hasOwnProperty()
, который возвращает Boolean значение, указывающее, содержит ли объект свойство с указанным именем:
1 2 |
console.log(obj.hasOwnProperty("a")); // true console.log(obj.hasOwnProperty("d")); // false |
Или можно использовать Object.prototype.propertyIsEnumerable()
для проверки ключа или свойства объекта:
1 2 |
console.log(obj.propertyIsEnumerable("a")); // true console.log(obj.propertyIsEnumerable("d")); // false |
Или можно использовать Object.keys()
который возвращает массив со всеми ключами существующими в объекте:
1 2 |
console.log(Object.keys(obj).includes("a")); // true console.log(Object.keys(obj).includes("d")); // false |