març 21, 2021

Comprenent que és NaN, null i undefined en javascript

“NaN” és l’acrònim per a “Not a Number” i obtenim aquest error quan estem tractant de fer un cast cap Number d’un tipus de dada que no és numèric, de manera que es llança l’excepció “NaN”.

per exemple, tinc una variable de tipus text la que després intentaré convertir a nombre i òbviament fallarà enviant un “NaN”.

a

 var miTexto = 'Vaig dir que sóc un text'; console.log (Number (miTexto)); // output: NaN 

a

el concepte de “null” sempre és difícil d’explicar, però és una variable reservada de el llenguatge i és com un estat d’una variable o propietat que indica que no té cap valor assignat, algunes vegades es comporta com un objecte i altres no, una mica estrany no ??

 var val = null; console.log (window.val); // o utput: null console.log (typeof window.val) // output: "object" // encara que no hereta de "Object" console.log (window.val == undefined) // output: true // undefined perquè no té cap valor console.log (window.val == null) // output: true // null perquè el seu valor és aquest 

a

Crec que per aquesta última comparació és que molts programadors es confonen una mica, perquè creuen que comparar contra undefined o null és el mateix, però no és així .. ja que només s’aplica a variables que hi ha estat declarades des del seu inici com null.

Sobre “undefined” , en javascript bàsicament quan vam crear una variable, aquesta és agregada a un objecte global de nivell superior anomenat “window”. L’objecte “window” representa una finestra o una nova pàgina en el navegador a l’hora de crear-se.

Per exemple, es pot crear una variable i després veure el seu valor mitjançant l’objecte window o simplement utilitzar el nom de la variable, és el mateix.

a

 var miVariable = 'hello'; console.log ( window.miVariable); // output: hello 

a

Ara, igual que en qualsevol altre llenguatge de programació, no podria utilitzar miVariable si aquesta no ha estat declarada prèviament per la qual cosa obtindrem l’error “undefined”.

a

 console.log (window.miVariable); var miVariable = ' hello '; // output: undefined 

a

Espero que aquestes breus explicacions els serveixin d’alguna cosa .. i com sempre Happy Coding! 😀

Cofundador de Qbit Mexhico, usuari de linux, Developer en tecnologies web .. Nicaragüenc, centre en basketball, primer centre a rugbi i pintor els caps de setmana. Ortögrafo i ambientalista psicològic (d’escriptori) .. aquest sóc jo!

Si t’ha servit comparteix-ho i difon el nostre bloc ..

Facebook Twitter LinkedIn Google+ Flickr YouTube Skype

Compartir a … Tweet about this on Twitter Pin on Pinterest 0 Share on LinkedIn 0 Share on Google+ 0 Share on Facebook 0

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *