Vamos falar sobre indefinido primeiro:
As variáveis no JavaScript são do tipo fraco; portanto, ao declarar variáveis, você só precisa usar a palavra -chave var. Se for uma linguagem fortemente digitada como C, se o valor inicial não for especificado ao declarar uma variável, ele receberá um valor padrão, como o valor padrão da variável int é 0. Mas em idiomas de tipo fraco como JavaScript, não há como determinar que tipo de valor default deve ser dado a uma variável, por exemplo, eu declara uma variável e uma variável e uma variável e uma variável e uma variável e uma variável e uma variável e uma variável e uma variável e uma variável e uma variável e uma variável e uma variável e uma variável e a variável e a variável e a variável.
var v1;
Está dando a ele falsa ou 0, ou ''?
Como não há tipo, é impossível determinar. Em JavaScript, para essa variável que não possui um valor inicial após a vida, dê -lhe um indefinido. No entanto, a premissa é que essa variável deve ser declarada e ocorrerá um erro se não for declarado para um identificador. Confira o código abaixo.
Vo = "Vo"; // Crie uma variável global sem usar a palavra -chave var. Se você não atribuir um valor, será relatado um erro. Como mostrado no seguinte
// v1; // haverá um erro
var v2; // não
var v3 = ""; // nulo
alerta (vo);
// alerta (v1); //
alerta (v2);
alerta (v3);
Vamos falar sobre nulo:
O JavaScript possui vários tipos básicos, número, string, booleano e objeto. Existem duas situações para variáveis do tipo de objeto. Um é que é uma instância de um objeto e o outro é um nulo de referência vazio. Amigos familiarizados com idiomas orientados a objetos como o Java devem ser facilmente compreendidos. Para ambos os casos, seu tipo é objeto. Somente quando as variáveis no JavaScript são atribuídas a eles
Ele determinará seu tipo, como abaixo.
O código é o seguinte:
var v1 = 1; var v2 = true; alerta (tipo de v1); // alerta de número (typeof v2); // boolean v2 = new Date (); alerta (tipo de v2); // objeto v2 = "str"; alerta (tipo de v2); // string v2 = null; alerta (tipo de v2); //objeto
Como você pode ver, o NULL representa um valor de tipo de objeto especial no JavaScript, que é usado para representar o conceito de referência nula. Se um identificador for declarado como tipo de objeto, mas não recebe uma instância por enquanto, ele poderá ser inicializado como nulo para uso posterior.
Não é necessariamente absolutamente correto. Simplificando, para todas as variáveis, desde que o valor inicial não seja especificado após a declaração, ela é indefinida. Se o tipo de objeto for usado para representar o conceito de referência nula, ele será expresso por NULL.
Aqui estão algumas adições:
nulo: significa nenhum valor;
Indefinido: indica uma variável não declarada, ou uma variável que foi declarada, mas não foi atribuída, ou uma propriedade de objeto que não existe. O operador == trata os dois como iguais. Se você deseja distinguir entre os dois, use o operador === ou TypeOf. Ambos estão incluídos no if (! Object) {}.