Costumo ver a situação no código JavaScript. Este artigo analisa o uso de 2 marcas de exclamação em JavaScript, em um exemplo de forma de maneira mais aprofundada. Compartilhe para sua referência. A análise específica é a seguinte:
O !! No JavaScript é lógico "não-não", isto é, "não" novamente com base em "não" lógico. Através! ou !!, muitos tipos podem ser convertidos em tipos de bool e outros julgamentos podem ser feitos.
1. Cenário de aplicação: determine se existe um objeto
Suponha que exista um objeto JSON:
{color: "#e3e3e3", "font-weight": "Bold"}Precisa ser julgado se existe, use -o !! É melhor.
Se você apenas imprimir o objeto, não pode determinar se ele existe:
var temp = {color: "#a60000", "font-weight": "Bold"}; alert (temp);Resultado: [Objeto: Objeto]
Se você implementar um objeto JSON! ou !!, você pode determinar se o objeto JSON existe:
var temp = {color: "#a60000", "font-weight": "Bold"}; alert (! Temp);Resultado: Falso
var temp = {color: "#a60000", "font-weight": "Bold"}; alert (!! temp);Resultado: Verdadeiro
2. Convenção de converter vários tipos em tipos de bool! ou!
1. Retorne verdadeiro para "Non" de Null
var temp = nulo; alerta (temp);
Resultados: NULL
var temp = nulo; alerta (! Temp);
Resultado: Verdadeiro
var temp = nulo; alerta (!! temp);
Resultado: Falso
2. Retorne verdadeiro para "não" indefinido
var temp; alerta (temp);
Resultados: indefinido
var temp; alerta (! Temp);
Resultado: Verdadeiro
var temp; alerta (!! temp);
Resultado: Falso
3. Retorne verdadeiro para "não" de uma corda vazia
var temp = ""; alerta (temp);
Resultado: vazio
var temp = ""; alerta (! Temp);
Resultado: Verdadeiro
var temp = ""; alerta (!! temp);
Resultado: Falso
4. Retorno falso para o número inteiro diferente de zero "não"
var temp = 1; alerta (temp);
Resultados: 1
var temp = 1; alerta (! Temp);
Resultado: Falso
var temp = 1; alerta (!! temp);
Resultado: Verdadeiro
5. Retorne verdadeiro para "não" de 0
var temp = 0; alerta (temp);
Resultados: 0
var temp = 0; alerta (! Temp);
Resultado: Verdadeiro
var temp = 0; alerta (!! temp);
Resultado: Falso
6. Retorne falso para a corda "não"
var temp = "ab"; alerta (temp);
Resultados: AB
var temp = "ab"; alerta (! temp);
Resultado: Falso
var temp = "ab"; alerta (!! temp);
Resultado: Verdadeiro
7. Retornar falso a "não" da matriz
var temp = [1,2]; alerta (temp);
Resultados: 1,2
var temp = [1,2]; alerta (! Temp);
Resultado: Falso
var temp = [1,2]; alerta (!! temp);
Resultado: Verdadeiro
Acredito que a descrição deste artigo tenha um certo valor de referência para a aprendizagem de todos da programação de JavaScript.