@evgenin

Какой аналог функции isset для javascript?

Необходимо проверить на наличие объекта foo.bar.foo.bar.foo.bar, как это сделать?
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
1. optional chaining == "опциональная цепочка":
const x = foo?.bar?.foo?.bar?.foo?.bar ?? 'default';
// не вызовет ошибки при отсутствии свойства


// использование с именами свойств из переменых/констант:
const foo = { bar: { foo: { bar: { foo: { bar: 'foobar' }}}}};
const FOO = 'foo';
const BAR = 'bar';

foo?.[BAR]?.[FOO]?.bar?.foo?.[BAR]  // "foobar"


2. try .. catch:
let x;
try {
  x = foo.bar.foo.bar.foo.bar;
} catch() {
  x = 'default';
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы