There are three types of operators that can be used in programs:
Mathematical Operators
Mathematical operators work on two numbers and return a number.
In these examples, assume A
is 3 and B
is 4.
Operator | Function | Example | Description |
| Addition |
| Variable |
| Subtraction |
| Variable |
| Multiplication |
| Variable |
| Division |
| Variable |
| Remainder |
| Indicates the remainder from the division of |
In JavaScript ES5, all numbers are treated as 64-bit floating-point numbers. The BigInt type is not currently supported.
JavaScript ES5 does not have an operator for exponentiation. Instead, use the Math.pow function. For example, Math.pow(2, 3) returns 8 (2 raised to the power of 3).
Logical Operators
Logical Operators take in Boolean values and output another Boolean value.
Operator | Function | Example | Description |
| Logical AND |
| If value in variables |
| Logical OR |
| If value in variables |
| Logical NOT |
| Returns the logical inverse. If A evaluates to |
Note: If the input expressions are not Boolean, they will be converted into a Boolean value. In JavaScript, there are 6 values that are evaluated as false
:
false
undefined
null
Nan
(Not a Number)0
""
(empty string)
All other values are evaluated as true
.
Comparison Operators
Comparison operators compare two expressions and return true
if the comparison is true, and false
otherwise.
Operator | Function | Example | Description |
| Less than |
| If |
| Greater than |
| If |
| Less than or equal to |
| If |
| Greater than or equal to |
| If |
| Equal to |
| If |
| Instance of |
| If |
| Is not equal to |
| If |
| In |
| If there is an instance of |
Assignment Operators
Operator | Function | Example | Description |
| Assignment |
| Stores the value in variable |
| Addition assignment |
| Stores the value |
| Subtraction assignment |
| Stores the value |
| Increment Operator |
| Adds 1 to the value of |
| Decrement Operator |
| Subtracts 1 from the value of |
The assignment operator =
can be used consecutively, as shown below:
A = B = C;
In this case, the value of A
and B
will be set to the value of C
. In other words, the value on the rightmost side of the operator will be used to set the value of the variables on the left. The example mentioned above will be processed internally in the program as shown below:
B
← C
A
← B
Bitwise Operators
A bitwise operator acts on the bit representation of a variable.
All Bitwise operators are performed by converting the inputs into 32-bit signed integer. The result will be converted back into a 64-bit floating-point number.
In the table below, the calculation result assumes that variable A
is 3 (0000 0000 0000 0011), and that variable B
is 4 (0000 0000 0000 0100).
Operator | Function | Example | Description |
| Bitwise invert |
| Each bit of |
| Remainder |
| Indicates the remainder from the division of |
| Bitwise AND |
| Bitwise logical AND calculation of |
| Bitwise OR |
| Bitwise logical OR calculation of |
| Bitwise XOR |
| Bitwise logical XOR calculation of |
| Bitwise Shift Left |
| Shifts the bits of |
| Bitwise Shift Right (Signed) |
| Shifts the bits of |
| Bitwise Shift Right (Zero Filling) |
| Shifts the bits of |
Special Operators
There are a few operators that do not fit clearly into the above categories.
Operator | Function | Example | Description |
| Check Type |
| Returns a string indicating the type of the specified variable or expression. Possible return values include “string”, “number”, “boolean”, “object”, “function”, “null”, and “undefined”. |
| Void |
| Evaluates the specified expression but uses For example: void function foo() { notification.send("in foo"); }(); This will execute the function |
| New Instance |
| Used to get a new instance of a user-defined object or one of the built-in object types like In the example below, we define a class function Student(name, id, age) { this.name = name; this.id = id; this.age = age; } var jim = new Student("Jim", 123456, 18); notification.send(JSON.stringify(jim));
var currentTime = new Date(); var year = currentTime.getFullYear(); |
| Delete Property |
| Deletes a property from an object. In the example below, we delete the var employee = { firstName: 'John', lastName: 'Doe' }; notification.send(JSON.stringify(employee)); // {"firstName":"John","lastName":"Doe"} delete employee.firstName; notification.send(JSON.stringify(employee)); // {"lastName":"Doe"} |
| Comma Operator |
| The comma operator takes in two expressions, evaluates them in order, and returns the expresion on the right. In pracice, this can be used to perform multiple actions at the end of a for loop. The example below contains a var s = ""; for (var i = 1, j = -1; i <= 3; i++, j--) { s += "i: " + String(i) + ", "; s += "j: " + String(j); s += "\n"; } notification.send(s); |
| Ternary Comparison |
| Checks whether the statement var isOn = tag.read("motorOn"); var s = isOn ? "Motor is on." : "Motor is off."; notification.send(s); This is equivalent to the script below. var isOn = tag.read("motorOn"); if (isOn) { var s = "Motor is on."; } else { var s = "Motor is off."; } notification.send(s); |