Valores não definidos
No JScript, você pode declarar uma variável sem atribuir um valor a ela.Uma variável anotado tipo assume o valor padrão para esse tipo.Por exemplo, o valor padrão para um tipo numérico é zero e o padrão para o String tipo de dados é uma seqüência de caracteres vazia. No entanto, uma variável sem um tipo de dados especificado tem um valor inicial de não definido e um tipo de dados de não definido.Da mesma forma, o código que acessa um expando objeto propriedade ou um elemento de matriz que não existe retorna um valor de não definido.
Usando valores indefinidos
Para determinar se existe uma propriedade de objeto ou variável, comparar-o para a palavra-chave não definido(qual funcionará somente para uma variável declarada ou propriedade), ou verifique se é do tipo "indefinido" (que funcionará mesmo para uma variável não declarada ou propriedade).O exemplo de código a seguir, suponha que o programador está tentando testar se a variável x foi declarada:
// One method to test if an identifier (x) is undefined.
// This will always work, even if x has not been declared.
if (typeof(x) == "undefined"){
// Do something.
}
// Another method to test if an identifier (x) is undefined.
// This gives a compile-time error if x is not declared.
if (x == undefined){
// Do something.
}
Outra maneira de verificar se uma propriedade de objeto ou variável é indefinida é comparar o valor de null. Uma variável que contém nullcontém"Nenhum valor" or "Nenhum objeto." Em outras palavras, ele contém nenhum número válido, seqüência, booliano, matriz ou objeto.Você pode apagar o Sumário de uma variável (sem excluir a variável), atribuindo a ela o null valor. Observe que o valor não definido and null Comparar sistema autônomo igual usando o (igualdade==) operador.
Observação: |
---|
No JScript, null não se compara sistema autônomo igual a 0 usando o operador de igualdade. Esse comportamento é diferente de outros idiomas, sistema autônomo, por exemplo, C e C++. |
Neste exemplo, o objeto obj testado para ver se ele tem a propriedade prop.
// A third method to test if an identifier (obj.prop) is undefined.
if (obj.prop == null){
// Do something.
}
Essa comparação é True
Se a propriedade obj.prop contém o valor null
Se a propriedade obj.prop não existe
Há outra maneira para verificar se existe uma propriedade de objeto.The em operador retorna True se a propriedade especificada estiver em objetos fornecidos.Por exemplo, o código a seguir testa True se a propriedade prop está no objeto obj.
if ("prop" in someObject)
// someObject has the property 'prop'
Para remover uma propriedade de um objeto, use o Excluir operador.