Если вы хотите проверить, была ли переменная инициализирована или определена (т. е. проверить, была ли переменная объявлена и ей присвоено значение), вы можете использовать оператор typeof.

Самая важная причина использования оператора typeof заключается в том, что он не вызывает ошибку ReferenceError, если переменная не была объявлена. Давайте посмотрим на следующий пример:

<script>
var x;
var y = 10;

if(typeof x !== 'undefined'){
    // этот оператор не будет выполняться
    alert("Variable x is defined.");
}

if(typeof y !== 'undefined'){
    // этот оператор будет выполняться
    alert("Variable y is defined.");
}

// Попытка получить доступ к необъявленной переменной z
if(typeof z !== 'undefined'){
    // этот оператор не будет выполняться
    alert("Variable z is defined.");
}

/* Выдаст Uncaught ReferenceError: z не определен, и остановит выполнение скрипта */
if(z !== 'undefined'){
    // этот оператор не будет выполняться
    alert("Variable z is defined.");
}

/* Если выполняется следующий оператор, он также выдаст Uncaught ReferenceError: z не определен */
if(z){
    // этот оператор не будет выполняться
    alert("Variable z is defined.");
}
</script>

Читайте также

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.