estigui habilitat null vs undefined Quin utilitzar? . Normalment quan treballem amb Javascript estem cansats de veure variables que tenen un valor null i variables que tenen un valor undefined. Quina diferència hi ha entre els dos conceptes? . Tots dos són conceptes que defineixen l’absència de valor per a una variable. Per exemple nosaltres podem tenir una cosa tan senzilla com:
var a;console.log(a);
Si executem el programa ens mostrarà per la consola:
undefined
Què vol dir això? . Nosaltres no hem inicialitzat la variable per tant cal pensar que tornaria null per la consola. Lamentablement no és així la consola mostra undefined. Tots estem acostumats a fer servir null en llenguatges de programació com Java o C # .No obstant això undefined existeix per diferenciar el fet de no tenir assignat un valor i el programador hagi decidit no assignar.
de la situació en la qual no tenim un valor perquè no hem decidit assignar en cap moment. Intentem aclarir una mica més les coses. Suposem que el codi és:
var a=null;console.log(a);
En aquest cas el resultat serà null ja que ha estat el programador el que l’ha inicialitzat
JavaScript null vs undefined
¿Quin sentit té undefined llavors? La realitat és que té molt sentit, veurem diversos exemples. Comencem per la senzilla definició d’un array.
lista=;console.log(lista);
Estem construint una matriu a hores d’ara l’array no té cap element associat que succeirà si accedim a la posició 2 de l’array. És evident que el JavaScript no vol que el programa d’un error irrecuperable com passaria en Java. Així doncs com no és una cosa que el programador hagi definit prèviament ens tornarà:
undefined
Aquest mateixa dada es pot corregir si abans assignem un valor a aquesta posició:
lista=;lista=3;console.log(lista);
El resultat serà:
El mateix passa a casuístiques en què definim objectes. Recordem que javascript permet l’ús de propietats dinàmiques.
objeto={};console.log(objeto.nombre);objeto.nombre="pedro";console.log(objeto.nombre);
Si no definim la propietat i imprimim el seu valor per pantalla el resultat serà undefined. Ara bé podem després assignar-li un valor i podrem accedir-hi sense problemes.
Tinguem sempre en compte el peculiar que és JavaScript a l’treballar i com es comporta i recordem que com a programadors hem de fer servir null i esperar que algunes situacions tornin undefined:
altres articles relacionats
- Promise chaining en JavaScript
- estigui habilitat Destructuring, un concepte interessant
- estigui habilitat redueix i la seva flexibilitat
- JavaScript arrow Function i scopes
- estigui habilitat