доступ к свойству потенциальной нулевой / неопределенной переменной - JavaScript - PullRequest
2 голосов
/ 23 апреля 2019

Я анализирую свой код с помощью sonarqube и сталкиваюсь с проблемой следующего кода:

var backtoyear = $('#backtoyear').val();

if (backtoyear != undefined || backtoyear.length > 0) {
   var currentyear = (new Date()).getFullYear();
   var numberofyears = currentyear - backtoyear;
}

переменная backtoyear.length вызывает «TypeError», поскольку «backtoyear» может бытьНулевой или неопределенный здесь. "потому что он может иметь значение null / undefined и поэтому не будет иметь никаких свойств.

должен ли я просто удалить второй аргумент OR из условия if?

1 Ответ

3 голосов
/ 23 апреля 2019

Вы можете упростить ваше следующее утверждение,

if (backtoyear != undefined || backtoyear.length > 0) {

до

if (backtoyear) {

Это более читабельно, эффективно и понятно.

См. Эту спецификацию ToBoolean

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...