Read this article to learn more about using operators in JavaScript. We will not use all of them in this introductory course. However, this is a condensed reference that contains tables of all operator categories. JavaScript categorizes operators by the task (such as arithmetic, comparison, or assignment). Operators execute in a particular order. This is called operator precedence and tells JavaScript which part to evaluate first, second, third, and so on. This is an important concept.
For example, consider how a program calculates a price using arithmetic operators:
Multiplication first the result is: $18 = 4 + 2 * 7 ( 2 * 7 = 14 + 4)
Calculate left to right the result is: $42 = 4 + 2 * 7 (4+ 2 = 6 * 7)
Unary operators
A unary operation is an operation with only one operand.
delete
The delete
operator deletes an object's property. The syntax is:
delete object.property; delete object[propertyKey]; delete objectName[index];
where object
is the name of an object, property
is an existing property, and propertyKey
is a string or symbol referring to an existing property.
If the delete
operator succeeds, it removes the property from the object. Trying to access it afterwards will yield undefined
.
The delete
operator returns
true
if the operation is possible; it returns
false
if the operation is not possible.
delete Math.PI; // returns false (cannot delete non-configurable properties) const myObj = {h: 4}; delete myobj.h; // returns true (can delete user-defined properties)
Deleting array elements
Since arrays are just objects, it's technically possible to delete
elements from them. This is however regarded as a bad practice, try to avoid it. When you delete an array
property, the array length is not affected and other elements are not re-indexed. To achieve that behavior, it is much better to just overwrite the element with the value undefined
.
To actually manipulate the array, use the various array methods such as splice
.
typeof
The typeof
operator is used in either of the following ways:
typeof operand typeof (operand)
The typeof
operator returns a string indicating the type of the unevaluated operand. operand
is the string, variable, keyword, or object for which the type is to be returned. The parentheses are optional.
Suppose you define the following variables:
var myFun = new Function('5 + 2'); var shape = 'round'; var size = 1; var foo = ['Apple', 'Mango', 'Orange']; var today = new Date();
The typeof
operator returns the following results for these variables:
typeof myFun; // returns "function" typeof shape; // returns "string" typeof size; // returns "number" typeof foo; // returns "object" typeof today; // returns "object" typeof doesntExist; // returns "undefined"
For the keywords true
and null
, the typeof
operator returns the following results:
typeof true; // returns "boolean" typeof null; // returns "object"
For a number or string, the typeof
operator returns the following results:
typeof 62; // returns "number" typeof 'Hello world'; // returns "string"
For property values, the typeof
operator returns the type of value the property contains:
typeof document.lastModified; // returns "string" typeof window.length; // returns "number" typeof Math.LN2; // returns "number"
For methods and functions, the typeof
operator returns results as follows:
typeof blur; // returns "function" typeof eval; // returns "function" typeof parseInt; // returns "function" typeof shape.split; // returns "function"
For predefined objects, the typeof
operator returns results as follows:
typeof Date; // returns "function" typeof Function; // returns "function" typeof Math; // returns "object" typeof Option; // returns "function" typeof String; // returns "function"
void
The void
operator is used in either of the following ways:
void (expression) void expression
The void
operator specifies an expression to be evaluated without returning a value. expression
is a JavaScript expression to evaluate. The parentheses surrounding the expression are optional, but it is good style to use them.