Null & Undefined

JSSSSS

null é uma palavra-chave do javascript que avalia um valor especial que geralmente é usado para indicar a ausência de um valor. Usar o operador typeof em null retorna a string “objeto”, indicando que null pode ser considerado um valor de objeto especial que indica “nenhum objeto”. Na prática, entretanto, null é normalmente considerado como o único membro de seu próprio tipo e pode ser usado para indicar “nenhum valor” para números e strings, bem como objetos. A maioria das linguagens de programação tem um equivalente ao nulo do JavaScript: você pode estar familiarizado com ele como NULL, nil ou None.

O JavaScript também tem um segundo valor que indica ausência de valor. O valor undefined representa um tipo mais profundo de ausência. É o valor de variáveis que não foram inicializadas e o valor que você obtém quando consulta o valor de uma propriedade de objeto ou elemento de matriz que não existe. O valor undefined também é o valor de retorno de funções que não retornam explicitamente um valor e o valor de parâmetros de função para os quais nenhum argumento é passado. O undefined é uma constante global predefinida (não uma palavra-chave do javascript como null, embora esta não seja uma distinção importante na prática) que é inicializada com o valor undefined. Se você aplicar o operador typeof ao valor undefined, ele retornará “undefined”, indicando que esse valor é o único membro de um tipo especial.

Apesar dessas diferenças, null e undefined indicam ausência de valor e muitas vezes podem ser usados alternadamente. O operador de igualdade == os considera iguais. (Use o operador de igualdade estrita === para distingui-los.) Ambos são valores falsos: eles se comportam como falsos quando um valor booleano é necessário. Nem null nem undefined têm propriedades ou métodos. Na verdade, usando . ou [] para acessar uma propriedade ou método desses valores causa um TypeError.

Considero undefined para representar uma ausência de valor em nível de sistema, inesperada ou semelhante a um erro e null para representar uma ausência de valor em nível de programa, normal ou esperada. Evito usar null e undefined quando posso, mas se preciso atribuir um desses valores a uma variável ou propriedade ou passar ou retornar um desses valores para ou de uma função, geralmente uso null. Alguns programadores se esforçam para evitar null inteiramente e usam undefined em seu lugar sempre que possível.

Lista de Posts