- JavaScript’s bitwise operators are used to perform bitwise operations on values to determine relationships similar to logical operations, such as AND, OR, NOT, etc.
- The difference between bitwise operators and logical operators, then, is that bitwise operators are used on numeric values only.
- When a bitwise operator is used, numeric values using the operator are converted to their 32 bit values.
- A bit is the smallest possible unit of (computer) data. A bit can only be one of two binary values: 0 or 1.
- 8 bits make up one single byte.
- Knowledge of binary is not required to program with JavaScript, so we will not go into detail on the conversion of a numeric value to its binary value. This conversion is done ‘behind the scenes’ by the computer anyways.
- You will probably not use bitwise operators too frequently
Bitwise operations result in True or False, like logical operators.
Other Types of Operators
- JavaScript has a few additional operators that can be convenient, and are worth mentioning. You likely would not use these as frequently as the other operators already discussed.
- Type Of : The type of operator returns the data type of a specified variable, object, function, etc.
- Operator: typeof
- useful for making sure you are receiving the correct type of data, reducing bugs
let car = "Honda";
typeof car; //this line returns "string" because the value of car is a string
let x, y;
let equation = x + 5 / (6 * y) + 17;
typeof equation; //this line returns "number" because the value of car is a string
typeof car === typeof equation // false
Delete : The delete operator deletes a property from an object
* Operator: delete
* i have never seen this used
let pet = {name:"Macy", species:"Dog", age:5, attribute:"fluffy"};
delete pet.age; // removes the age property from the pet object
- In : The in operator checks to see if a specified property is in a specified object(objects are covered in the next lesson). If the object does contain the property, the operation returns true. Otherwise, it returns false.
pet = {name:"Macy", species:"Dog", age:5, attribute:"fluffy"};
"name" in pet; // returns true because the pet object has a property called "name"