# Operators Misti has similar operators to JS. ```md-warning Misti will enforce type checking in operators at compile time.

However, due to how JS works, automatic type casting may still occur if you combine the Misti output with JS.

``` ## Basic operators ```misti 4 + 2 4 - 2 4 * 2 4 / 2 4 % 2 4 ** 2 ``` ## Asignment operators ```misti i += 1 i -= 1 i *= 2 i /= 2 i %= 2 i **= 2 ``` ## Bitwise operators Not considered at the moment. ## Comparison ```misti 1 == 2 1 != 2 1 > 2 1 < 2 1 >= 2 1 <= 2 ``` ```md-warning In Misti there's only double equals `==`.

x == y will ALWAYS compile to x === y ``` ## Logical operators ```misti true && false true || false !true ``` ```md-warning Multiple `!` are invalid, since there is no automatic type casting.

!! would be considered a different operator. ``` ```md-warning There is no short-circuit like so something like:

true && "value" will throw an error at compile time. ```