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 | Попробуй » |
Чтобы узнать об арифметических операторах, прочтите For a tutorial about arithmetic operators, read our Руководство по арифметике 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 = "Good ", text2 = "Morning", и text3 = "", в таблице ниже описываются операторы:
Оператор | Пример | text1 | text2 | text3 | Попробуй |
---|---|---|---|---|---|
+ | text3 = text1 + text2 | "Good " | "Morning" | "Good Morning" | Попробуй » |
+= | text1 += text2 | "Good Morning" | "Morning" | "" | Попробуй » |
Операторы сравнения
Операторы сравнения используются в логических операторах для определения равенства или различия между переменными или значениями.
Учитывая, что 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.
Условный (тернарный) оператор
Условный оператор присваивает значение переменной на основе условия.
Синтаксис | Пример | Попробуй |
---|---|---|
variablename = (condition) ? value1:value2 | voteable = (age < 18) ? "Too young":"Old enough"; | Попробуй » |
Объяснение примера: Если переменная "age" имеет значение меньше 18, значение переменной "voiceable" будет "Too young", в противном случае значение переменной "voiceable" будет "Old enough".
Логические операторы
Логические операторы используются для определения логики между переменными или значениями.
Учитывая, что x = 6 и y = 3, в таблице ниже объясняются логические операторы:
Операторы | Описание | Пример | Попробуй |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | Попробуй » |
|| | or | (x === 5 || y === 5) is false | Попробуй » |
! | not | !(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 ^ 0001 | 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 "John"
// Возврат string
typeof 3.14
// Возврат number
typeof NaN
// Возврат number
typeof false
// Возврат boolean
typeof [1, 2, 3, 4] // Возврат object
typeof {name:'John', age:34}
// Возврат object
typeof new Date()
// Возврат object
typeof function () {} // Возврат function
typeof myCar
// Возврат undefined (если myCar не объявлен)
typeof null
// Возврат object
Попробуйте сами »
Обратите внимание:
- Тип данных NaN - число
- Тип данных массива - объект
- Тип данных даты - объект
- Тип данных null - объект
- Тип данных неопределенной переменной undefined
Вы не можете использовать typeof, чтобы определить, является ли объект JavaScript массивом (или датой).
Оператор delete
Оператор delete удаляет свойство из объекта:
Пример
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
delete person.age; // или удалить person["age"];
Попробуйте сами »
Оператор удаления удаляет как значение свойства, так и само свойство.
После удаления свойство нельзя использовать до его повторного добавления.
Оператор удаления предназначен для использования со свойствами объекта. Это не влияет на переменные или функции.
Примечание: Оператор удаления не следует использовать для предопределенных свойств объекта JavaScript. Это может привести к сбою вашего приложения.
Оператор in
Оператор in возвращает true, если указанное свойство находится в указанном объекте, в противном случае - false:
Пример
// Массивы
var cars = ["Сааб", "Вольво", "БМВ"];
"Сааб" in cars // Возврат false (укажите номер индекса вместо значения)
0 in cars // Возврат true
1 in cars // Возврат true
4 in cars // Возврат false (не существует)
"length" in cars // Возврат true (длина - это свойство массива)
// Объекты
var person = {firstName:"John", lastName:"Doe", age:50};
"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 = ["Сааб", "Вольво", "БМВ"];
cars instanceof Array; // Возврат true
cars instanceof Object; // Возврат true
cars instanceof String; // Возврат false
cars instanceof Number; // Возврат false
Попробуйте сами »
Оператор void
Оператор void оценивает выражение и возвращает значение undefined. Этот оператор часто используется для получения неопределенного примитивного значения с помощью "void (0)" (полезно при оценке выражения без использования возвращаемого значения).
Пример
<a href="javascript:void(0);">
Бесполезная ссылка
</a>
<a href="javascript:void(document.body.style.backgroundColor='red');">
Щелкните меня, чтобы изменить фон цвет тела к красному
</a>
Попробуйте сами »