Como o sinal de igual único funciona na declaração if em javascript
Recentemente eu vi uma declaração que funciona em javascript na internet e gostaria de saber qual é o significado de um único sinal de igual (=) em javascript como eu uso principalmente em instruções if.
É uma função de comparação que inclui sinal de igual duplo (==)
if(i = 1) {
alert(i);
}
Isso funciona, eu me perguntava o que aconteceria quando a instrução if fosse atribuída ao valor de 1 para a variável i e verificasse o valor de i que é o mesmo que:
i = 1
if(i) {
alert(i)
}
Mas logo percebi que a atribuição de uma variável de valor precisa ter a palavra-chave var, então alterei o código para:
if(var i = 1) {
alert(i);
}
Desta vez o código não funciona. Por quê?