Il y a deux valeurs spéciales dans JavaScript: non définies et nuls, et vous devez être prudent lorsque vous les comparez. Ce que vous obtenez en lisant des variables non attribuées ou en essayant de lire les propriétés que l'objet n'a pas, c'est la valeur non définie.
<! Doctype html> <html lang = "en"> <éadf> <meta charset = "utf-8"> <ititle> Learn4undefinednull </ title> </ head> <body> <cript> var mydata = {name: "luka", weather: "Sunny"}; document.writeln ("project: "+ MyData.DoOSNEXITS); </cript> </body> </html>Résultat de sortie:
Accessoire: indéfini
JavaScript définit également une valeur spéciale Null, qui est légèrement différente de la non-définie. Ce dernier est une valeur obtenue lorsque la valeur n'est pas définie, tandis que le premier est utilisé pour indiquer qu'une valeur a été attribuée mais n'est pas un objet, une chaîne, un nombre ou une valeur booléens valides (c'est-à-dire qu'une valeur définie est une valeur sans valeur [pas de valeur]).
Le code suivant utilise un indéfini et nul pour montrer leurs différents effets:
<! Doctype html> <html lang = "en"> <éread> <meta charset = "utf-8"> <itle> Learn4undefinednull </ title> </ head> <body> <cript> var mydata = {name: "Luka"}; // read weather attribut document.writeln ("var:" + mydata.weather + "<Bratting Document.writeln (" var: "+ MyData. /> "); // déterminer si l'objet a un attribut météo Document.writeln (" prop: "+ (" weather "dans mydata) +" <br /> <br />"); mydata.weather = "sunny"; document.writeln ("var:" + mydata.weather + "<Br />");Document.writeln("prop:" + "dans" dans "dans le temps" dans "dans" dans "dans le temps" dans "dans" dans le temps "dans" dans "dans" dans "dans le temps" dans "dans" dans "dans" dans le temps "dans" dans le temps "dans" dans "dans" dans le temps "dans" dans le temps "dans" dans le temps "dans" dans le temps "dans" dans le temps "dans" dans le temps "dans" dans le temps "dans" dans le temps "dans" dans "dans le temps" dans ". MyData) + "<br /> <br />");mydata.weather = null; document.writeln (" var: "+ mydata.weather +" <br />");Document.writeln("prop: "+ (" weather "dans mydata) +" <br /> <br /> "); </cript>Résultat de sortie:
Var: indéfini
Prop: Faux
Var: ensoleillé
Prop: vrai
Var: nul
Prop: vrai
1. Vérifiez si la variable ou la propriété n'est pas définie ou nul
Si vous souhaitez vérifier si une propriété est nulle ou non définie (peu importe laquelle), utilisez simplement l'instruction IF et le non-opérateur logique (!).
<! Doctype html> <html lang = "en"> <ead> <meta charset = "utf-8"> <itle> Learn4Undefinednull </ title> </ head> <body> <script> var mydata = {name: "Luka", City: null}; if (! Mydata.Name) {Docuka.Writeln ("Nom. /> <br /> ");} else {document.writeln (" Le nom n'est pas nul ou indéfini <br /> <br />") }if(!mydata.city){Document.writeln("City est nul ou indéfini <br /> <br /> ");} else {document.writeln (" City n'est pas null ou nonfine />") }if(!mydata.weather) {document.writeln("weather est nul ou non défini <br /> <br /> ");} else {document.writeln (" le temps n'est pas nul ou non défini <br /> <br /> ")} </cript> </ body> </html>Résultat de sortie:
Le nom n'est pas nul ou non défini
La ville est nul ou indéfinie
Le temps est nul ou indéfini
2. Distinguer entre nul et indéfini
Lorsque vous comparez deux valeurs, la méthode utilisée doit être déterminée en fonction de vos besoins. Si vous souhaitez traiter également les valeurs non définies et nulles, vous devez utiliser l'opérateur d'égalité (==) pour permettre à la conversion de type JavaScript. À l'heure actuelle, une variable avec une valeur non définie sera considérée comme égale à une variable avec une valeur null. Si vous souhaitez faire la distinction entre null et indéfini, vous devez utiliser l'opérateur équivalent (===).
<! Doctype html> <html lang = "en"> <éad> <meta charset = "utf-8"> <ititle> Learn4undefinednull </ title> </ad> <body> <cript> var firstval = null; var secondval; var equality = firstVal == Secondval; var identity = firstval === secondval; Docutre. "+ égalité +" <Br />");Document.Writeln("Identity: "+ identité +" <br />");Document.writeln("Identity: "+ identité +" <br />");Document.writeln("Identity: "+ identité +" <Br />") ;Document.Writeln("Identity: "+" <" /> "); </ script> </ body> </html>Résultat de sortie:
Égalité: vrai
Identité: faux
Le contenu ci-dessus est les connaissances pertinentes sur la comparaison des valeurs nulles et non définies du didacticiel JS de base qui vous est présenté par l'éditeur. J'espère que ce sera utile à tous!