function test(input){
var value = input != 1;
}
In the above, what is the line inside of the function doing and how does it work?
See Operator Precedence.
!= has a precedence of 9 and = has a precedence of 17.
Therefore it evaluates input != 1 and then assigns the result to value.
First it's doing the comparison input != 1, and then assigning the result of that (which will be true or false) the variable value. The != is a comparison, the = is an assignment.
This is exactly the same as any other assignment: The right-hand side is evaluated, and assigned to the left-hand side.