Hay dos valores especiales en JavaScript: indefinido y nulo, y debe tener cuidado al compararlos. Lo que obtienes al leer variables no asignadas o tratar de leer las propiedades que el objeto no tiene es el valor indefinido.
<! Doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title> Learn4undefinedAndNull </title> </head> <body> <script> var myData = {name: "Luka", Weather: "Sunny"}; document.writeln ("PROP: PROP: "+myData.doesNexits); </script> </body> </html>Resultado de salida:
Propiedad: Undefinado
JavaScript también define un valor especial nulo, que es ligeramente diferente de indefinido. Este último es un valor obtenido cuando el valor no se define, mientras que el primero se usa para indicar que se ha asignado un valor pero no es un objeto válido, cadena, número o valor booleano (es decir, un valor que se define es un valor [sin valor]).
El siguiente código usa indefinido y nulo para mostrar sus diferentes efectos:
<! DocType html> <html lang = "en"> <head> <meta charset = "utf-8"> <title> learn4undefinedAndNull </title> </head> <body> <script> var myData = {name: "Luka"}; // leer el clima documento.writeLn ("var:"+myData.weather. El objeto tiene atributo meteorológico document.WriteLn ("prop:"+("clima" en myData)+"<Br /> <Br />") ;MyData.weather =" Sunny "; document.writeLn (" var: "+myData.weather+" <br />") ;Document.WriteLn("Prop: "+(" Weather "en MyData)+" <br />--- ;Document(("Prop: "+(" Weather "en myData)+" <br /";-Document(("Prop:"+("Weather" en MyData)+"<br />" Br /" />");mydata.weather = null; document.writeLn ("var:"+myData.weather+"<Br />");document.writeln("Prop:"+("clima" en mydata)+"<Br /> <Br />"); </script> </body> </hml>Resultado de salida:
Var: indefinido
Prop: Falso
Var: Sunny
Propiedad: Verdadero
Var: nulo
Propiedad: Verdadero
1. Compruebe si la variable o la propiedad están indefinidas o nulas
Si desea verificar si una propiedad es nula o indefinida (independientemente de su), simplemente use la instrucción IF y el no operador lógico (!).
<! Doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title> learn4undefinedandNull </title> </head> <body> <script> var myData = {name: "Luka", City: null}; if (! MyData.name) {document.writeln ("names name o inkined /> <Br /> ");} else {document.WriteLn (" El nombre no es nulo ni indefinado <br /> <br />")}f() />") }f(_mydata.weather) =document.writeln("weather es nulo o indefinado <br /> <Br /> ");} else {document.writeln (" El clima no es nulo o indefinado <Br /> <Br /> ")} </script> </body> </html>Resultado de salida:
el nombre no es nulo ni indefinado
la ciudad es nula o indefinida
El clima es nulo o indefinado
2. Distinguir entre nulo e indefinido
Al comparar dos valores, el método utilizado debe determinarse de acuerdo con sus necesidades. Si desea tratar los valores indefinidos y nulos por igual, debe usar el operador de igualdad (==) para permitir que JavaScript realice la conversión de tipo. En este momento, una variable con un valor indefinido se considerará igual a una variable con un valor de NULL. Si desea distinguir entre nulo y indefinido, debe usar el operador equivalente (===).
<! Doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title> Learn4UdefinedAndNull </title> </toble> <body> <script> var firstVal = null; var SecondVal; var en igualdad = firstVal == SecondVal; var identity = FirstVal "+Igualdad+" <Br />");Document.WriteLn("Identity: "+Identity+" <Br />");Document.Writeln("identity: "+Identity+" <Br />");Document.WriteLn("identity: "+Identity+" <Br />-- :document.WriteLn("identidad: "+Identity+" <bility> " /> "); </script> </body> </html>Resultado de salida:
Igualdad: verdadero
Identidad: Falso
El contenido anterior es el conocimiento relevante sobre la comparación de valores nulos e indefinidos del tutorial JS básico que le presenta el editor. ¡Espero que sea útil para todos!