If you would like to support me and make it possible for me to continue sharing resources for free, you could donate here through PayPal ♥



JavaScript operators are used to assign values, compare values, perform arithmetic operations, and so on.

Assignment operators

An assignment operator assigns a value to its left operand based on the value of its right operand. You might be familiar with notation such as “x = x + y”, however as lazy as developers are, we of course have a shorter way of writing such operations.

carbon (9).png

Comparison operator

Compares its operands and returns a boolean based on whether the comparison is true or false.

carbon (10).png

Often, if the two operands are not of the same type, (for example 2 + ‘1’, where one is a number and the other is a string) JavaScript attempts to convert one or both operands to an appropriate type in order to compare the two. This is the difference between using equal and strict equal.


JavaScript converts the string and the boolean to a number in order to be able to make the comparison, without you really knowing.  If you use strict equal, it makes sure that it only returns true if the type of the value equal the type of the value in the comparison.

carbon (12).png

In order to prevent unexpected behavior, it’s best to always use strict equal.

Arithmetic operators

Takes numerical values as their operands and returns a single numerical value.

Unary operation: an operation with only one operator.
Binary operator: an operation that operates on two operands and manipulates them to return a result.

carbon (13).png

Logical operators

Logical operators return a boolean value. Besides true and false, there are truthy and falsy values:

Falsy values don’t necessarily have the value false, they simply evaluate to false. There are 6 falsy values:

carbon (14).png

All truthy values are values that aren’t falsy (that sounds very obvious, but there are too many values that are truthy. It’s much simpler to make sure that the value isn’t in the list of falsy values!).

carbon (17).png

Precedence and associativity

Now that you know more about operators, imagine the following scenario:

carbon (18).png

Operators have a certain precedence: operators with a higher precedence get called first, operators with a lower precedence get called last. It can also happen that all operators have the same precedence, in that case the associativity (the order in which the operators get called: either left-to-right or right-to-left) is important.

There is an entire table that describes which operators have the highest precedence, which can be found here.