Как определять, если переменная - 'undefined' или 'null' в языке сценариев JavaScript

Я хочу определить, если переменная не определена, или если у него есть недействительная стоимость.

В следующем примере, я хочу, чтобы работал clásula, соответствующий истинному условию, а именно, было напечатано в консоли сообщение "EmpName не определен", однако, работает статья в "по-другому" (else), так как он печатается "EmpName определен"

var EmpName = $("div#esd-names div#name").attr('class');
if(EmpName == 'undefined'){
  console.log("EmpName no está definido");
} else {
  console.log("EmpName está definido");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<div id="esd-names">
  <div id="name"></div>
</div>

var miVariable; //miVariable está definida pero tiene valor nulo.
console.log(miVariable)

Какова правильная форма?

7
задан 12.03.2019, 13:59
0 ответов

Respuesta corta

En lugar de 'не определено' (cadena) usa null (objeto global).

Explicación

'undefined' y null нет сына lo mismo ni son del mismo tipo. Это может быть сделано только для того, чтобы разобраться с ситуацией в мире (véase null , artículo de Mozilla Developers Network).

ПРИМЕЧАНИЕ: Véase la respuesta de amandiel en la que aclara la diferencia entre «неопределенный» (cadena) y undefined (palabra reservada) o bien undefined (сеть разработчиков artzculo de Mozilla).

Fragmento

En el siguiente ejemplo se ha reemplazado 1120890] 'undefined' por null y se han ajustado los mensajes imprimir para cada caso.

 var EmpName = $ ("div # esd-names div # name"). Attr ( 'учебный класс'); if (EmpName == null) {console.log ("El valor de EmpName" + EmpName); // Nulo} else {console.log ("El valor de EmpName es" + EmpName); // Cualquier otro} 
 


Теги

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