Справочник по операторам JavaScript
Операторы JavaScript используются для присвоения значений, сравнения значений, выполнения арифметических операций и многого другого.
Арифметические операторы JavaScript
Арифметические операторы используются для выполнения арифметических операций между переменными и/или значениями.
Учитывая, что y = 5 , в таблице ниже объясняются арифметические операторы:
Operator | Description | Example | Result in y | Result in x | Try it |
---|---|---|---|---|---|
+ | Addition | x = y + 2 | y = 5 | x = 7 | |
- | Subtraction | x = y - 2 | y = 5 | x = 3 | |
* | Multiplication | x = y * 2 | y = 5 | x = 10 | |
/ | Division | x = y / 2 | y = 5 | x = 2.5 | |
% | Modulus (division remainder) | x = y % 2 | y = 5 | x = 1 | |
++ | Increment | x = ++y | y = 6 | x = 6 | |
x = y++ | y = 6 | x = 5 | |||
-- | Decrement | x = --y | y = 4 | x = 4 | |
x = y-- | y = 4 | x = 5 |
Учебное пособие по арифметическим операторам см. в нашем учебном пособии по арифметике JavaScript .
Операторы присваивания JavaScript
Операторы присваивания используются для присвоения значений переменным JavaScript.
Учитывая, что x = 10 и y = 5 , в таблице ниже объясняются операторы присваивания:
Operator | Example | Same As | Result in x | Try it |
---|---|---|---|---|
= | x = y | x = y | x = 5 | |
+= | x += y | x = x + y | x = 15 | |
-= | x -= y | x = x - y | x = 5 | |
*= | x *= y | x = x * y | x = 50 | |
/= | x /= y | x = x / y | x = 2 | |
%= | x %= y | x = x % y | x = 0 |
Учебное пособие по операторам присваивания можно найти в нашем учебном пособии по присваиванию JavaScript .
Строковые операторы JavaScript
Оператор + и оператор += также можно использовать для объединения (добавления) строк.
Учитывая, что text1 = "Хорошо" , text2 = "Утро" и text3 = "" , в таблице ниже объясняются операторы:
Operator | Example | text1 | text2 | text3 | Try it |
---|---|---|---|---|---|
+ | text3 = text1 + text2 | "Good " | "Morning" | "Good Morning" | |
+= | text1 += text2 | "Good Morning" | "Morning" | "" |
Операторы сравнения
Операторы сравнения используются в логических операторах для определения равенства или различия между переменными или значениями.
Учитывая, что x = 5 , в таблице ниже объясняются операторы сравнения:
Operator | Description | Comparing | Returns | Try it |
---|---|---|---|---|
== | equal to | x == 8 | false | |
x == 5 | true | |||
=== | equal value and equal type | x === "5" | false | |
x === 5 | true | |||
!= | not equal | x != 8 | true | |
!== | not equal value or not equal type | x !== "5" | true | |
x !== 5 | false | |||
> | greater than | x > 8 | false | |
< | less than | x < 8 | true | |
>= | greater than or equal to | x >= 8 | false | |
<= | less than or equal to | x <= 8 | true |
Учебное пособие по операторам сравнения см. в нашем учебном пособии по сравнению JavaScript .
Условный (тернарный) оператор
Условный оператор присваивает значение переменной на основе условия.
Syntax | Example | Try it |
---|---|---|
variablename = (condition) ? value1:value2 | voteable = (age < 18) ? "Too young":"Old enough"; |
Объяснение примера: если переменная «возраст» имеет значение ниже 18 лет, значение переменной «за возможность голосования» будет «слишком молодо», в противном случае значение переменной «за возможность голосования» будет «достаточно старым».
Логические операторы
Логические операторы используются для определения логики между переменными или значениями.
Учитывая, что x = 6 и y = 3 , в таблице ниже объясняются логические операторы:
Operator | Description | Example | Try it |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | |
|| | or | (x === 5 || y === 5) is false | |
! | not | !(x === y) is true |
Побитовые операторы JavaScript
Битовые операторы работают с 32-битными числами. Любой числовой операнд в операции преобразуется в 32-битное число. Результат преобразуется обратно в число JavaScript.
Operator | Description | Example | Same as | Result | Decimal |
---|---|---|---|---|---|
& | AND | x = 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | OR | x = 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | NOT | x = ~ 5 | ~0101 | 1010 | 10 |
^ | XOR | x = 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<< | Left shift | x = 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | Right shift | x = 5 >> 1 | 0101 >> 1 | 0010 | 2 |
В приведенных выше примерах используются 4-битные беззнаковые примеры. Но JavaScript использует 32-битные числа со знаком.
Из-за этого в JavaScript ~ 5 не вернет 10. Он вернет -6.
~000000000000000000000000000000101 вернет 11111111111111111111111111111010
Тип оператора
Оператор typeof возвращает тип переменной, объекта, функции или выражения:
Пример
typeof "John"
// Returns string
typeof 3.14
// Returns number
typeof NaN
// Returns number
typeof false
// Returns boolean
typeof [1, 2, 3, 4] // Returns object
typeof {name:'John', age:34}
// Returns object
typeof new Date()
// Returns object
typeof function () {} // Returns function
typeof myCar
// Returns undefined (if myCar is not declared)
typeof null
// Returns object
Пожалуйста, обратите внимание:
- Тип данных NaN — число
- Тип данных массива — объект
- Тип данных даты - объект
- Тип данных null является объектом
- Тип данных неопределенной переменной не определен
Вы не можете использовать typeof , чтобы определить, является ли объект JavaScript массивом (или датой).
Оператор удаления
Оператор удаления удаляет свойство из объекта:
Пример
const person = {
firstName:"John",
lastName:"Doe",
age:50,
eyeColor:"blue"
};
delete person.age; // or delete person["age"];
Оператор удаления удаляет как значение свойства, так и само свойство.
После удаления свойство нельзя использовать, пока оно не будет снова добавлено.
Оператор удаления предназначен для использования со свойствами объекта. Это не влияет на переменные или функции.
Примечание. Оператор удаления не следует использовать для предопределенных свойств объекта JavaScript. Это может привести к сбою вашего приложения.
Оператор
Оператор in возвращает true, если указанное свойство находится в указанном объекте, иначе false:
Пример
// Arrays
const cars = ["Saab", "Volvo", "BMW"];
"Saab" in cars // Returns false (specify the index number instead of value)
0 in cars // Returns true
1 in cars // Returns true
4 in cars // Returns false (does not exist)
"length" in cars // Returns true (length is an Array property)
// Objects
const person = {firstName:"John", lastName:"Doe", age:50};
"firstName" in person // Returns true
"age" in person // Returns true
// Predefined objects
"PI" in Math // Returns true
"NaN" in Number // Returns true
"length" in String // Returns true
Экземпляр оператора
Оператор instanceof возвращает true, если указанный объект является экземпляром указанного объекта:
Пример
const cars = ["Saab", "Volvo", "BMW"];
(cars instanceof Array) // Returns true
(cars instanceof Object) // Returns true
(cars instanceof String) // Returns false
(cars instanceof Number) // Returns false
Оператор пустоты
Оператор void оценивает выражение и возвращает значение undefined . Этот оператор часто используется для получения неопределенного примитивного значения с использованием "void(0)" (полезно при оценке выражения без использования возвращаемого значения).
Пример
<a href="#;">
Useless link
</a>
<a href="javascript:void(document.body.style.backgroundColor='red');">
Click me to change the background color of body to red
</a>