Как проверить объект на присутствие неизвестного ключа?

Для проверки объекта на наличие неизвестного ключа в JavaScript можно воспользоваться несколькими способами:

1. **Оператор in**: Оператор in используется для проверки наличия ключа в объекте. Он возвращает true, если ключ присутствует в объекте, и false в противном случае. Например:

const myObject = { key: 'value' };
const keyExists = 'key' in myObject; // true
const unknownKeyExists = 'unknownKey' in myObject; // false

2. **Метод hasOwnProperty**: Метод hasOwnProperty проверяет, содержит ли объект указанный ключ как собственное свойство, и не учитывает свойства из прототипа объекта. Например:

const myObject = { key: 'value' };
const keyExists = myObject.hasOwnProperty('key'); // true
const unknownKeyExists = myObject.hasOwnProperty('unknownKey'); // false

3. **Проверка на undefined**: Если вы хотите проверить объект на наличие ключа и при этом у вас нет уверенности, что ключ действительно существует, вы можете проверить его на значение undefined. Например:

const myObject = { key: 'value' };
if (myObject.unknownKey !== undefined) {
  console.log('Unknown key exists with value: ', myObject.unknownKey);
} else {
  console.log('Unknown key does not exist');
}

4. **Оператор typeof**: Если вы хотите быть уверены не только в наличии ключа, но и его типе, то можно использовать оператор typeof. Например:

const myObject = { key: 'value' };
if (typeof myObject.unknownKey !== 'undefined') {
  console.log('Unknown key exists with type: ', typeof myObject.unknownKey);
} else {
  console.log('Unknown key does not exist');
}

Эти способы помогут вам проверить объект на наличие неизвестного ключа в JavaScript. Важно помнить, что при использовании оператора in и метода hasOwnProperty будет учтен только непосредственно заданный ключ, без учета ключей из прототипа объекта.