O tipo fraco de JS faz as pessoas sentirem que muitas coisas são confusas, como se uma variável é verdadeira ou falsa em uma condição IF. Se uma variável de tipo não-booleano for colocada em uma condição IF em um idioma fortemente digitado, a conversão do tipo será necessária, mas o JS não precisará dela. Vamos testá -lo abaixo para testar o desempenho de tipos de variáveis comuns em uma condição IF.
function test1 () {<span style = "cor:#ff0000;"> var a, b = -1, c = 1, d = 0, e = nulo, f = indefinido, g = '', h = ""; </span> if (! a) {console.log ('a ='+a)}} {! b) {! console.log ("c ="+c)} if (! d) {console.log ("d ="+d)} if (! e) {console.log ("e ="+e)} if (! f) {console.log ("f ="+f)} se (! console.log ("h ="+h)}} ()Vários tipos de variáveis são definidos e colocados em condições se respectivamente
Resultados da execução
a = indefinido
d = 0
e = nulo
f = indefinido
g =
h =
i = false