@HitTheNails

Как правильно проверять переменные на существование?

Здравствуйте!
Интересует вот какой вопрос. допустим я делаю ajax в бэкенду и получаю сведения вместе со связями в структуре что-то вроде car.modification.wheel_drive.title.
Вопрос в следующем - какие существуют best practice для проверки существования этой переменной?
Ибо некоторые данные приходится с modification undefined, другие с wheel_drive undefined, и таких данных много.
На данный момент сделано просто объединением нескольких условий, вроде
if(car.modification && car.modification.wheel_drive) {
  console.log(car.modification.wheel_drive.title);
}

Но это изрядно утомляет.
Спасибо за ответы!
  • Вопрос задан
  • 201 просмотр
Решения вопроса 2
miraage
@miraage
Старый прогер
Я для таких случаев использую lodash.get.
Ответ написан
Комментировать
@Interface
Я бы посоветовал присмотреться к 2 вещам:

1) lodash (или другая либа) .get; имеет синтаксис _.get(car, 'modification.wheel_drive')

2) null conditional operator (https://github.com/tc39/proposal-optional-chaining) - он не поддерживается js, зато его можно транспайлить, например так: https://www.npmjs.com/package/babel-plugin-null-sa... Он весьма эксперементальный. В любом случае по названию можно поискать best practice.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
IonDen
@IonDen
JavaScript developer. IonDen.com
То как вы делаете - правильный вариант, пусть и утомительный.
Еще можно делать через try...catch, но это скорее антипаттерн.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы