Проверка переменной на существование и пустоту?

Рейтинг: 0Ответов: 1Опубликовано: 16.10.2014

Как в Js проверить переменную на пустоту и существование, допустим:

var path = window.location.pathname;
var str = path.split("/");

Будет ли нормальной проверка:

if(str[2]){
}

Ответы

▲ 1Принят

Метод строки split() всегда возвращает массив строк. Конструкция if( str[2]) переводит значение третьего элемента массива в тип Boolean, чтобы сравнить с true.

Вот как переводятся в Boolean некоторые строки:

'stroka' 
'1'
'true'
'false'
'0'
// получат значение true

И только пустая строка

''
// получит значение false

Т.о. можно не опасаться, что, например, адрес "/catalog/cars/0" в вашей проверке ошибочно решит, что str[2] отсутствует.

В случае, если элементов меньше, str[2] вернёт undefined, который при переводе в тип Boolean становится false. Тоже всё ок.

Ваш вариант вполне рабочий! (тест)