Референсное руководство по операторам JavaScript
- Предыдущая страница Объекты JS
- Следующая страница Приоритетность операторов JS
Операторы JavaScript используются для присваивания значений, сравнения значений, выполнения арифметических операций и т.д.
Дополнительная информация:
Учебник:Операторы JavaScript
Учебник:Приоритет операторов JavaScript
Арифметические операторы JavaScript
Арифметические операторы используются для выполнения арифметических операций между переменными и/или значениями.
Дано y = 5,в таблице ниже объясняются арифметические операторы:
Оператор | Описание | Пример | результат в y | результат в x | Попробуйте |
---|---|---|---|---|---|
+ | добавление | x = y + 2 | y = 5 | x = 7 | Попробуйте |
- | вычитание | x = y - 2 | y = 5 | x = 3 | Попробуйте |
* | умножение | x = y * 2 | y = 5 | x = 10 | Попробуйте |
/ | деление | x = y / 2 | y = 5 | x = 2.5 | Попробуйте |
% | модуль (остаток от деления) | x = y % 2 | y = 5 | x = 1 | Попробуйте |
++ | увеличение | x = ++y | y = 6 | x = 6 | Попробуйте |
x = y++ | y = 6 | x = 5 | Попробуйте | ||
-- | уменьшение | x = --y | y = 4 | x = 4 | Попробуйте |
x = y-- | y = 4 | x = 5 | Попробуйте |
Для получения информации о арифметических операторах прочитайте нашу Учебник JavaScript по арифметическим операторам.
Операторы присваивания JavaScript
Операторы присваивания используются для присвоения значений переменным JavaScript.
Дано x = 10 и y = 5,в таблице ниже объясняются операторы присваивания:
Оператор | Пример | Эквивалентно | результат в x | Попробуйте |
---|---|---|---|---|
= | 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 = "",в таблице ниже объясняются этот оператор:
Оператор | Пример | text1 | text2 | text3 | Попробуйте |
---|---|---|---|---|---|
+ | text3 = text1 + text2 | "Доброе " | "Утро" | "Доброе утро" | Попробуйте |
+= | text1 += text2 | "Доброе утро" | "Утро" | "" | Попробуйте |
операторы сравнения
В логических выражениях операторы сравнения используются для определения равенства или различия между переменными или значениями.
Дано x = 5,в таблице ниже объясняются операторы сравнения:
Оператор | Описание | сравнение | возврат | Попробуйте |
---|---|---|---|---|
== | равны | x == 8 | false | Попробуйте |
x == 5 | true | Попробуйте | ||
=== | равные значения и типы | x === "5" | false | Попробуйте |
x === 5 | true | Попробуйте | ||
!= | не равны | x != 8 | true | Попробуйте |
!== | Неравные значения или неравные типы | x !== "5" | true | Попробуйте |
x !== 5 | false | Попробуйте | ||
> | Больше | x > 8 | false | Попробуйте |
< | Меньше | x < 8 | true | Попробуйте |
>= | Больше или равно | x >= 8 | false | Попробуйте |
<= | Меньше или равно | x <= 8 | true | Попробуйте |
Чтобы узнать о сравнительных операторах, прочитайте наш Учебник по сравнительным операторам JavaScript.
Оператор условия (треугольный)
Оператор условияassignает значение переменной в зависимости от условия.
Грамматика
variablename = (condition) ? value1:value2
Пример
voteable = (age < 18) ? "Too young":"Old enough";
Объяснение примера:
Если значение переменной "age" меньше 18, то значение переменной "voteable" будет "Too young", в противном случае, значение "voteable" будет "Old enough".
Логические операторы
Логические операторы используются для определения логики между переменными или значениями.
Дано x = 6 и y = 3Ниже приведена таблица, объясняющая логические операторы:
Оператор | Описание | Пример | Попробуйте |
---|---|---|---|
&& | и | (x < 10 && y > 1) is true | Попробуйте |
|| | или | (x === 5 || y === 5) is false | Попробуйте |
! | не | !(x === y) is true | Попробуйте |
Битовые операторы JavaScript
Битовые операторы могут обрабатывать 32-битные числа. Любой числовой операнд в этом вычислении будет преобразован в 32-битное число. Результат будет преобразован обратно в число JavaScript.
Оператор | Описание | Пример | Эквивалентно | Результат | Десятичный |
---|---|---|---|---|---|
& | 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 ^ | 0100 | 4 |
<< | Левый сдвиг | x = 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | Правый сдвиг | x = 5 >> 1 | 0101 >> 1 | 0010 | 2 |
В предыдущем примере использовался пример с 4 битами без знака. Однако JavaScript использует 32-битные числа с знаком.
Таким образом, в JavaScript, ~5 не возвращает 10, а возвращает -6.
~00000000000000000000000000000101 вернет 11111111111111111111111111111010
Оператор typeof
typeof Оператор typeof возвращает тип переменной, объекта, функции или выражения:
Пример
typeof "Bill" // Возвращает string typeof 3.14 // Возвращает number typeof NaN // Возвращает number typeof false // Возвращает boolean typeof [1, 2, 3, 4] // Возвращает object typeof {name:'Bill', age:19} // Возвращает object typeof new Date() // Возвращает object typeof function () {} // Возвращает function typeof myCar // Возвращает undefined (если не объявлен myCar) typeof null // Возвращает object
Обратите внимание:
- Тип данных NaN - number
- Тип данных массива - object
- Тип данных даты - object
- Тип данных null - object
- Данные неопределенной переменной имеют тип undefined
Вы не можете использовать typeof для определения того, является ли JavaScript объект массивом (или датой).
Вы не можете использовать typeof для определения того, является ли JavaScript объект массивом (или датой).
Оператор delete
delete Оператор delete удаляет свойства из объекта:
Пример
var person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"}; delete person.age; // Удаление person["age"];
Оператор delete удаляет как значение свойства, так и само свойство.
После удаления и до повторного добавления свойства, его использовать нельзя.
Оператор delete предназначен для использования с свойствами объектов. Он не влияет на переменные или функции.
Комментарий:}не следует использовать оператор delete на предопределенных свойствах объектов JavaScript. Это может привести к сбою вашего приложения.
оператор in
если указанное свойство存在于 указанном объекте: in оператор возвращает true, если указанное свойство存在于 указанном объекте, в противном случае возвращает false:
Пример
// массив var cars = ["Saab", "Volvo", "BMW"]; "Saab" in cars // возвращает false (указан индекс, а не значение) 0 in cars // возвращает true 1 in cars // возвращает true 4 in cars // возвращает false (не существует) "length" in cars // возвращает true (length является свойством массива) // объект var person = {firstName:"Bill", lastName:"Gates", age:19}; "firstName" in person // возвращает true "age" in person // возвращает true // предопределенные объекты "PI" in Math // возвращает true "NaN" in Number // возвращает true "length" in String // возвращает true
оператор instanceof
если указанный объект является экземпляром указанного объекта: instanceof оператор возвращает true:
Пример
var cars = ["Saab", "Volvo", "BMW"]; cars instanceof Array; // возвращает true cars instanceof Object; // возвращает true cars instanceof String; // возвращает false cars instanceof Number; // возвращает false
оператор void
void оператор вычисляет выражение и возвращает undefinedЭтот оператор обычно используется для получения неопределенного значения (undefined) с помощью "void(0)" (это полезно при вычислении выражения без использования возвращаемого значения).
Пример
<a href="javascript:void(0);"> Незначимый ссылка </a> <a href="javascript:void(document.body.style.backgroundColor='red');"> Нажмите меня, чтобы изменить цвет фона body на красный </a>
- Предыдущая страница Объекты JS
- Следующая страница Приоритетность операторов JS