JavaScript Операторы
Операторы используются для присвоения значений, сравнения значений, выполнять арифметические операции и многое другое.
Существуют различные типы операторов в JavaScript:
- Арифметические операторы
- Операторы присваивания
- Операторы сравнения
- Логические операторы
- Условные операторы
- Операторы типов
JavaScript Арифметические операторы
Арифметические операторы используются для выполнения арифметических действий между переменными значениями and/or.
Учитывая, что y = 5, в таблице ниже поясняются арифметические операторы:
| Операция | Имя | Пример | Результаты | Попробуй |
|---|---|---|---|---|
| + | Добавление | x = y + 2 | y=5, x=7 | Попробуй » |
| - | Вычитание | x=y-2 | y=5, x=3 | Попробуй » |
| * | Умножение | x=y*2 | y=5, x=10 | Попробуй » |
| ** | Возведение в степень ES2016 |
x=y**2 | y=5, x=25 | Попробуй » |
| / | Деление | 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 = 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 | Попробуй » |
| : | x: 45 | size.x = 45 | x = 45 | Попробуй » |
Учебное пособие по операторам присваивания можно найти в нашем Учебнике по заданиям на JavaScript.
JavaScript Строковые операторы
Оператор + и оператор += также можно использовать для объединения (добавления) строки.
Учитывая, что t1 = "Хорошее ", t2 = "Утро", и t3 = "", в таблице ниже поясняются операторы:
| Операция | Пример | t1 | t2 | t3 | Попробуй |
|---|---|---|---|---|---|
| + | t3 = t1 + t2 | "Хорошее " | "Утро" | "Хорошее Утро" | Попробуй » |
| += | t1 += t2 | "Хорошее Утро" | "Утро" | Попробуй » |
Операторы сравнения
Операторы сравнения используются в логических операторах для определения равенства или разницы между переменными или значениями.
Учитывая, что x = 5, в таблице ниже поясняются операторы сравнения:
| Операция | Имя | Сравнение | Возврат | Попробуй |
|---|---|---|---|---|
| == | равно | x == 8 | false | Попробуй » |
| == | равно | x == 5 | true | Попробуй » |
| === | равный value и type | x === "5" | false | Попробуй » |
| === | равный value и type | x === 5 | true | Попробуй » |
| != | не равный | x != 8 | true | Попробуй » |
| !== | не равный value или type | x !== "5" | true | Попробуй » |
| !== | не равный value или type | x !== 5 | false | Попробуй » |
| > | больше чем | x > 8 | false | Попробуй » |
| < | меньше чем | x < 8 | true | Попробуй » |
| >= | больше или равно | x >= 8 | false | Попробуй » |
| <= | меньше или равно | x <= 8 | true | Попробуй » |
Учебное пособие по операторам сравнения можно найти в нашем . JavaScript Учебник по сравнениям.
Условный (тройной) оператор
Условный оператор присваивает значение переменной на основе условия.
| Синтаксис | Пример | Попробуй |
|---|---|---|
| (condition) ? x : y | (z < 18) ? x : y | Попробуй » |
Логические операторы
Логические операторы используются для определения логики между переменными или значениями.
Учитывая, что x = 6 и y = 3, в таблице ниже поясняются логические операторы:
| Операция | Имя | Пример | Попробуй |
|---|---|---|---|
| && | AND | (x < 10 && y > 1) будет true | Попробуй » |
| || | OR | (x === 5 || y === 5) будет false | Попробуй » |
| ! | NOT | !(x === y) будет true | Попробуй » |
Нулевой оператор объединения (??)
Оператор ?? возвращает первый аргумент, если он не нулевой
(null или не определено).
В противном случае возвращается второй аргумент.
let name = null;
let text = "отсутствует";
let result = name ?? text;
Попробуйте сами »
Нулевой оператор поддерживается во всех браузерах с марта 2020 г.:
| Chrome 80 | Edge 80 | Firefox 72 | Safari 13.1 | Opera 67 |
| Feb 2020 | Feb 2020 | Jan 2020 | Mar 2020 | Mar 2020 |
Необязательный оператор цепочки (?.)
Оператор ?. возвращает undefined, если объект
undefined или null (вместо выдачи ошибки).
// Создаём объект:
const car = {type:"Фиат", model:"500", color:"Белый"};
// Запросить название автомобиля:
document.getElementById("demo").innerHTML = car?.name;
Попробуйте сами »
Необязательный оператор цепочки поддерживается во всех браузерах с марта 2020 г.:
| Chrome 80 | Edge 80 | Firefox 72 | Safari 13.1 | Opera 67 |
| Feb 2020 | Feb 2020 | Jan 2020 | Mar 2020 | Mar 2020 |
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 ^ 0001 | 0100 | 4 | Попробуй » |
| << | Левый сдвиг | x = 5 << 1 | 0101 << 1 | 1010 | 10 | Попробуй » |
| >> | Правый сдвиг | x = 5 >> 1 | 0101 >> 1 | 0010 | 2 | Попробуй » |
| >>> | Беззнаковый правый | x = 5 >>> 1 | 0101 >>> 1 | 0010 | 2 | Попробуй » |
Примечание
В таблице выше используются 4-битные беззнаковые числа. Поскольку JavaScript использует 32-битные числа со знаком,
~ 5 не вернет 10. вернет -6.
~00000000000000000000000000000101 (~5)
вернет
11111111111111111111111111111010 (-6)
Оператор typeof
Оператор typeof возвращает тип переменной, объекта, функции или выражение:
typeof "Андрей" // Возвращает строку
typeof 3.14 // Возвращает число
Попробуйте сами »
Обратите внимание:
- Тип данных NaN — number.
- Тип данных массива — object
- Тип данных даты — object.
- Нулевой тип данных — object.
- Тип данных неопределенной переменной undefined
typeof "Андрей"
typeof 3.14
typeof NaN
typeof false
typeof [1, 2, 3, 4]
typeof {name:'Андрей', age:34}
typeof new Date()
typeof function () {}
typeof myCar
typeof null
Попробуйте сами »
Примечание
Вы не можете использовать typeof, чтобы определить, является ли объект JavaScript массивом или датой.
И массив, и дата возвращают объект как тип.
Оператор delete
Оператор delete удаляет свойство из объекта:
const person = {
firstName:"Андрей",
lastName:"Щипунов",
age:50,
eyeColor:"blue"
};
delete person.age;
Попробуйте сами »
Оператор delete удаляет как значение свойства, так и свойство само по себе.
После удаления свойство нельзя будет использовать, пока оно не будет добавлено снова.
Оператор delete предназначен для использования со свойствами объекта. У него нет влияние на переменные или функции.
Примечание
Оператор delete не следует использовать для свойств любых предопределенных объектов JavaScript (массив, логическое значение, дата, функция, математика, число, регулярное выражение и строка).
Это может привести к сбою вашего приложения.
Оператор распространения (...)
Оператор ... расширяет итерацию на большее количество элементов:
const q1 = ["Январь", "Фев", "Март"];
const q2 = ["Апрель", "Май", "Июнь"];
const q3 = ["Июль", "Август", "Сентябрь"];
const q4 = ["Октябрь", "Ноябрь", "Май"];
const year = [...q1, ...q2, ...q3, ...q4];
Попробуйте сами »
Оператор ... можно использовать для расширения итерации до дополнительных аргументов для вызовов функций:
const numbers = [23,55,21,87,56];
let maxValue = Math.max(...numbers);
Попробуйте сами »
Оператор in
Оператор in возвращает true, если свойство находится в объекте, в противном случае — false:
Пример объекта
const person = {firstName:"Андрей", lastName:"Щипунов", age:50};
("firstName" in person);
("age" in person);
Попробуйте сами »
Примечание
Вы не можете использовать in для проверки содержимого массива, например ("Вольво" в автомобилях).
Свойствами массива могут быть только индекс (0,1,2,3...) и длина.
См. примеры ниже.
const cars = ["Сааб", "Вольво", "БМВ"];
("Сааб" in cars);
Попробуйте сами »
const cars = ["Сааб", "Вольво", "БМВ"];
(0 in cars);
(1 in cars);
(4 in cars);
("length" in cars);
Попробуйте сами »
Оператор instanceof
Оператор instanceof возвращает значение true, если объект является экземпляром указанного объекта:
const cars = ["Сааб", "Вольво", "БМВ"];
(cars instanceof Array) // Возврат true
(cars instanceof Object) // Возврат true
(cars instanceof String) // Возврат false
(cars instanceof Number) // Возврат false
Попробуйте сами »
Оператор void
Оператор void оценивает выражение и возвращает результат. не определено. Этот оператор часто используется для получения неопределенного значения. примитивное значение, используя "void(0)" (полезно при вычислении выражения без используя возвращаемое значение).
<a href="javascript:void(0);">
Бесполезная ссылка
</a>
<a href="javascript:void(document.body.style.backgroundColor='red');">
Нажмите меня, чтобы изменить цвет фона тела на красный
</a>
Попробуйте сами »