Jak działa pojedynczy znak równości w instrukcji if w javascript

Niedawno zobaczyłem instrukcję, która działa w javascript w Internecie i zastanawiam się, jakie znaczenie ma pojedynczy znak równości (=) w javascript, którego używam głównie w instrukcjach if.
Jest to funkcja porównawcza, która zawiera podwójny znak równości (==)

if(i = 1) {
    alert(i);
}

To działa, zastanawiałem się, co by się stało, gdy instrukcja if zostanie przypisana do wartości 1 do zmiennej i i sprawdzi wartość i, która jest taka sama jak:

i = 1
if(i) {
    alert(i)
}

Ale szybko zdałem sobie sprawę, że przypisanie zmiennej wartości musi mieć słowo kluczowe var, więc zmieniłem kod na:

  if(var i = 1) {
        alert(i);
  }

Tym razem kod nie działa. Czemu?

questionAnswers(6)

yourAnswerToTheQuestion