English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основы JavaScript

JavaScript Объекты

JavaScript Функции

JS HTML DOM

JS Browser BOM

Основы AJAX

JavaScript Референс Мануал

Операторы JavaScript

Операторы выполняют математические и логические операции над данными.

JavaScript имеет следующие типы операторов:

  • Арифметические операторы

  • Операторы присваивания

  • Сравнительные операторы

  • Битовое операторы

  • Логические операторы

  • Странные операторы

  • Условные (треугольные) операторы

  • Унарные операторы

  • Реляционные операторы

Арифметические операторы в JavaScript

Арифметические операторы используются для выполнения арифметических операций с числами.

Арифметические операторы рассматривают числовые значения в качестве своих операндов и возвращают одно числовое значение.

ОператорОписаниеПримерОпределениеПротестируйте это
+Сложениеa + bСумма a и bПротестируйте это
-У减лениеa - bРазность a и bПротестируйте это
*Множествоa * bПроизведение a и bПротестируйте это
**Определение степениa ** bb-ая степень aПротестируйте это
/Делениеa / ba делит на bПротестируйте это
%Определение модуля (остатка)a % bОстаток от деления a на bПротестируйте это
++Увеличениеa ++a увеличивает на 1Протестируйте это
--Уменьшение
a--a уменьшает на 1Протестируйте это

Операторы присваивания в JavaScript

Операторы присваиванияassign values to JavaScript variables.

Простая операция присваивания (=)assigns the value of its right operand to its left operand.

ОператорОписаниеПримерЭквивалентПротестируйте это
=Присваиваниеa = ba = bПротестируйте это
+=Сначала добавляем, а затем присваиваемa += ba = a + bПротестируйте это
-=Сначала вычитаем, а затем присваиваемa -= ba = a - bПротестируйте это
*=Сначала умножаем, а затем присваиваемa *= ba = a * bПротестируйте это
**=Сначала берем степень, а затем присваиваемa **= ba = a ** bПротестируйте это
/=Сначала делим, а затем присваиваемa /= ba = a / bПротестируйте это
%=Сначала берем модуль, а затем присваиваемa %= ba = a % bПротестируйте это

Сравнительные операторы JavaScript

Сравнительные операторы сравнивают два значения и возвращают логическое значение.

ОператорОписаниеПримерОпределениеПротестируйте это
==Равенствоa == bЕсли a равен b, то trueПротестируйте это
===Совпадениеa === bЕсли a равен b и принадлежит одному и тому же типу данных, то trueПротестируйте это
!=Не равенствоa != bЕсли a не равен b, то trueПротестируйте это
!==Не равенство включает типыa !== bЕсли a не равен b и не является одним и тем же типом данных, то trueПротестируйте это
>Большеa> bЕсли a больше b, то истинаПротестируйте это
<Меньшеa <bЕсли a меньше b, то истинаПротестируйте это
>=Больше или равноa>= bЕсли a больше или равно b, то истинаПротестируйте это
<=Меньше или равноa <= bЕсли a меньше или равно b, то истинаПротестируйте это

Разница между (a == b) и (a === b):

  • == Если a равно b, то возвращает true

  • === Если a равно b и они都属于Одного типавозвращает true

В условных операторах можно использовать сравнительные операторы для сравнения значений и перехода в разные потоки в зависимости от полученного результата.

В конце этого учебника вы узнаете, как использовать условные операторы.

Битовое оперирование JavaScript

Битовое оперирование рассматривает операнты как набор из 32 битов (нулей и единиц), а не как десятичные, шестнадцатеричные или восьмеричные числа.

Любой числовой операнд в этой операции будет преобразован в 32-битное число. Результат преобразуется обратно в значение JavaScript.

ОператорОписаниеПримерЭквивалентРезультатДробное
&И5&10101 и 00010001 1
|ИЛИ5 | 10101 | 00010101 5
~Негатив
~5 ~01011010 10
^Исключающее ИЛИ5 ^ 10101 ^ 00010100 4
<<Левое сдвиг5 << 10101 << 11010 10
>>Знаковое правовое сдвиг5 >> 10101 >> 10010  2
>>>Беззнаковое右овое сдвиг5 >>> 10101 >>> 10010  2

В предыдущем примере используется 4-битный беззнаковый пример. Но JavaScript использует 32-битные знаковые числа.

Таким образом, в JavaScript, ~5 не вернет 10. Он вернет -6.

~00000000000000000000000000000101 вернет 11111111111111111111111111111010

Логические операторы JavaScript

Логические операторы используются для определения логики между переменными или значениями.

Логические операторы обычно используются для комбинирования условий в условных операторах и возвращают логическое значение.

ОператорОписаниеПримерОпределениеПротестируйте это
&&Логическое иa && bЕсли a и b истинны, то истинаПротестируйте это
||Логическое илиa || bЕсли a или b истинно, то истинаПротестируйте это
!Логическое не!aЕсли a не истинно, то истинаПротестируйте это

Операторы строк JavaScript

Данный оператор + также можно использовать для объединения (склеивания) строк.

var str1 = "Hello";
var str2 = "World";
var str3 = str1 + " " + str2;
Проверить, посмотри‹/›

Оператор сложения и присваивания += также может использоваться для объединения (соединения) строк.

var str1 = "Hey! ";
str1 += "How r u doing?";
Проверить, посмотри‹/›

При использовании на строках оператор + называется оператором объединения.

Условный (трёхоператорный) оператор JavaScript

Условный оператор (трёхоператорный) является единственным оператором JavaScript, который принимает три операнда.

Описание позволяет получить один из двух значений в зависимости от условия. Грамматика:

condition ? val1 : val2

Еслиcondition результат вычисленияtrueЕслиval1В противном случае вернетсяval2.

Условный оператор можно использовать в любом месте, где используется стандартный оператор.

var status = (age >= 18) ? "взрослый" : "ребенок";
Проверить, посмотри‹/›

Если возраст равен 18 годам или старше, то переменной status будет присвоено значение "взрослый". В противном случае, ей будет присвоено значение "ребенок".

Унарные операторы JavaScript

Унарные операции выполняются с одним операндом.

В JavaScript содержится три унарных оператора:

ОписаниеОписание
deleteУдаляет объект, его свойства или элементы массива по указанному индексу
typeofВозвращает тип переменной
voidУказывает выражение, требующее значения, но не возвращающее его

Оператор delete

Оператор delete может удалять объекты, их свойства или элементы массива по указанному индексу.

Если оператор delete может выполнить операцию, он возвращает true; в противном случае, он возвращает false. Если операция не может быть выполнена, возвращает false.

Если оператор delete успешно выполняет операцию, он устанавливает атрибут или элемент в undefined:

var user = {firstName:"Vishal", age:"22", color:"blue"};
delete user.firstName; // возвращает true
Проверить, посмотри‹/›

Когда оператор delete удаляет элемент массива, он удаляется из массива.

var fruits = ["Apple", "Mango", "Banana"];
delete fruits[0]; // delete "Apple"
Проверить, посмотри‹/›

Примечание:При удалении элементов массива его длина не изменяется.

Оператор typeof

Оператор typeof возвращает тип переменной или выражения.

typeof "" // Возвращает "string"
typeof "Vishal" // Возвращает "string"
typeof "42" // Возвращает "string" (Число в кавычках является Строкой)
typeof 42 // Возвращает "number"
typeof true // Возвращает "boolean"
typeof false // Возвращает "boolean"
typeof undefined // Возвращает "undefined"
typeof null // Возвращает "object"
typeof {name:"Vishal", age:22} // Возвращает "object"
typeof [2, 4, 6, 8] // Возвращает "object" (не "array", см. примечание ниже)
typeof function myFunc(){} // Возвращает "function"
Проверить, посмотри‹/›

Примечание:Оператор typeof возвращает "object" для массивов,因为在 JavaScript массивы являются объектами.

Вот список значений, возвращаемых оператором typeof:

Тип
Строка, возвращаемая typeof
Number"number"
String"string"
Boolean"boolean"
Object"object"
Function"function"
Undefined"undefined"
Null"object"

Оператор void

Оператор void specifies an expression that requires a value but does not return a value.

Следующий код создает гипертекстовую ссылку, которая не выполняет никаких действий при нажатии на нее.

<a href="javascript:void(0)">Нажмите здесь, чтобы ничего не сделать</a>
Проверить, посмотри‹/›

Логические операторы JavaScript

Логические операторы сравнивают свои операнды и возвращает булево значение в зависимости от того, истинно ли сравнение.

В JavaScript есть два логических оператора:

ОписаниеОписание
inЕсли указанное свойство содержится в указанном объекте, то возвращает true
instanceofЕсли объект является примером типа объекта, то возвращает true

Оператор in

Если указанное свойство содержится в указанном объекте, оператор in возвращает true.

var user = {firstName:"Vishal", age:"22", color:"blue"};
"firstName" in user; // returns true
"age" in user;// возвращает true
"Food" in user;   // возвращает false
Проверить, посмотри‹/›

При использовании оператора in с массивом Array необходимо указать номер индекса, а не значение, находящееся на данном индексе.

var fruits = ["Apple", "Mango", "Banana"];
var item1 = 0 in fruits;  // возвращает true
var item2 = 1 in fruits;  // возвращает true
var item3 = 2 in fruits;  // возвращает true
var item4 = 3 in fruits;  // возвращает false
Проверить, посмотри‹/›

Оператор instanceof

Если указанный объект принадлежит указанному типу объекта, то оператор instanceof возвращает true.

Для проверки типа объекта в время выполнения используйте оператор instanceof.

var myObj = new Date();
if (myObj instanceof Date) {
   // выполнимые утверждения
{}
Проверить, посмотри‹/›