Важным элементом любого языка программирования, и JavaScript в том числе, являются операторы - управляющие элементы, позволяющие взаимодействовать между данными, переменными и т.д.

Что такое оператор?

Возьмем простое выражение 4 + 5, равное 9 . Здесь 4 и 5 называются операндами, а '+' называется оператором. JavaScript поддерживает следующие типы операторов.

  • Арифметические операторы
  • Операторы сравнения
  • Логические (или реляционные) операторы
  • Операторы присваивания
  • Условные (или тройные) операторы

Позволяет взглянуть на всех операторов один за другим.

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

JavaScript поддерживает следующие арифметические операторы - Предположим, что переменная A имеет место 10, а переменная B имеет 20, тогда -

Оператор Описание
+ (Сложение)Добавляет два операнда Пример: A + B даст 30
- (Вычитание)Вычитает второй операнд с первого Пример: A - B даст -10
* (Умножение)Умножить оба операнда Пример: A * B даст 200
/ (Деление)Разделите числитель знаменателем Пример: B / A даст 2
% (Модуль)Выводит оставшуюся часть целочисленного деления
++ (Increment, счетчик)Увеличивает целочисленное значение на единицу Пример: A ++ даст 11
- (Уменьшение)Уменьшает целочисленное значение на единицу Пример: A-- даст 9

Примечание. Оператор добавления (+) работает как с числовыми, так и с строками. например, «a» + 10 даст «a10».

пример

Следующий код показывает, как использовать арифметические операторы в JavaScript.

<html>
   <body>
  
      <script type="text/javascript">
         <!--
            var a = 33;
            var b = 10;
            var c = "Test";
            var linebreak = "
";
        
            document.write("a + b = ");
            result = a + b;
            document.write(result);
            document.write(linebreak);
        
            document.write("a - b = ");
            result = a - b;
            document.write(result);
            document.write(linebreak);
        
            document.write("a / b = ");
            result = a / b;
            document.write(result);
            document.write(linebreak);
        
            document.write("a % b = ");
            result = a % b;
            document.write(result);
            document.write(linebreak);
        
            document.write("a + b + c = ");
            result = a + b + c;
            document.write(result);
            document.write(linebreak);
        
            a = ++a;
            document.write("++a = ");
            result = ++a;
            document.write(result);
            document.write(linebreak);
        
            b = --b;
            document.write("--b = ");
            result = --b;
            document.write(result);
            document.write(linebreak);
         //-->
      </script>
     
      
   </body>
</html>
Результат
a + b = 43
a - b = 23
a / b = 3.3
a % b = 3
a + b + c = 43Test
++a = 35
--b = 8

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

JavaScript поддерживает следующие операторы сравнения - Предположим, что переменная A имеет место 10, а переменная B имеет 20, тогда -

Оператор Описание
= = (Равно)Проверяет, равно ли значение двух операндов или нет, если да, то условие становится истинным. Пример: (A == B) неверен.
! = (Не равно)Проверяет, равно ли значение двух операндов или нет, если значения не равны, тогда условие становится истинным. Пример: (A! = B) истинно.
> (Больше)Проверяет, превышает ли значение левого операнда значение правого операнда, если да, то условие становится истинным. Пример: (A> B) неверен.
< (Меньше)Проверяет, является ли значение левого операнда меньше значения правильного операнда, если да, то условие становится истинным. Пример: (A
> = (Больше или равно)Проверяет, является ли значение левого операнда больше или равно значению правильного операнда, если да, то условие становится истинным. Пример: (A> = B) неверен.
<= (Меньше или равно)Проверяет, является ли значение левого операнда меньше или равно значению правильного операнда, если да, то условие становится истинным. Пример: (A <= B) истинно.
пример

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

<html>
   <body>
  
      <script type="text/javascript">
         <!--
            var a = 10;
            var b = 20;
            var linebreak = "
";
     
            document.write("(a == b) => ");
            result = (a == b);
            document.write(result);
            document.write(linebreak);
        
            document.write("(a < b) => ");
            result = (a < b);
            document.write(result);
            document.write(linebreak);
        
            document.write("(a > b) => ");
            result = (a > b);
            document.write(result);
            document.write(linebreak);
        
            document.write("(a != b) => ");
            result = (a != b);
            document.write(result);
            document.write(linebreak);
        
            document.write("(a >= b) => ");
            result = (a >= b);
            document.write(result);
            document.write(linebreak);
        
            document.write("(a <= b) => ");
            result = (a <= b);
            document.write(result);
            document.write(linebreak);
         //-->
      </script>
   </body>
</html>
Результат
(a == b) => false
(a < b) => true
(a > b) => false
(a != b) => true
(a >= b) => false
a <= b) => true

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

JavaScript поддерживает следующие логические операторы - Предположим, что переменная A имеет место 10, а переменная B имеет 20, тогда -

Оператор Описание
&& (Логическое И)Если оба операнда отличны от нуля, условие становится истинным. Пример: (A && B) истинно.
|| (Логическое ИЛИ)Если какой-либо из двух операндов отличен от нуля, то условие становится истинным. Пример: (A || B) истинно.
! (Логическое НЕ)Изменяет логическое состояние операнда. Если условие истинно, то логический оператор NOT сделает его ложным. Пример :! (A && B) является ложным.
пример

Попробуйте следующий код, чтобы узнать, как реализовать логические операторы в JavaScript.

<html>
   <body>
  
      <script type="text/javascript">
         <!--
            var a = true;
            var b = false;
            var linebreak = "
";
     
            document.write("(a && b) => ");
            result = (a && b);
            document.write(result);
            document.write(linebreak);
        
            document.write("(a || b) => ");
            result = (a || b);
            document.write(result);
            document.write(linebreak);
        
            document.write("!(a && b) => ");
            result = (!(a && b));
            document.write(result);
            document.write(linebreak);
         //-->
      </script>

   </body>
</html>
Результат
(a && b) => false
(a || b) => true
!(a && b) => true

Побитовые операторы

JavaScript поддерживает следующие побитовые операторы - Предположим, что переменная A имеет 2, а переменная B имеет 3, тогда -

Оператор Описание
& (Побитовое И)Он выполняет логическую операцию И на каждом бите своих целых аргументов. Пример: (A & B) равен 2.
| (BitWise OR)Он выполняет операцию Boolean OR для каждого бита своих целых аргументов. Пример: (A | B) равен 3.
^ (Побитовый XOR)Он выполняет логическую исключительную операцию OR для каждого бита своих целых аргументов. Исключительное ИЛИ означает, что либо операнд один, либо истина, либо операнд, два - это правда, но не оба. Пример: (A ^ B) равен 1.
~ (Побитовое не)Это унарный оператор и работает путем изменения всех битов в операнде. Пример: (~ B) - -4.
<< (Левый сдвиг)Он перемещает все биты в своем первом операнде слева на количество мест, указанных во втором операнде. Новые биты заполняются нулями. Смещение значения, оставленного одной позицией, эквивалентно умножению на 2, сдвиг двух позиций эквивалентен умножению на 4 и т.д. Пример: (A << 1) - 4.
>> (правый сдвиг)Двоичный оператор правого сдвига. Значение левого операнда перемещается вправо на количество бит, заданных правым операндом. Пример: (A >> 1) равен 1.
>>> (правая смена нуля)Этот оператор аналогичен оператору >>, за исключением того, что бит, сдвинутый слева, всегда равен нулю. Пример: (A >>> 1) - 1.
пример

Попробуйте следующий код для реализации Побитового оператора в JavaScript.

<html>
   <body>
  
      <script type="text/javascript">
         <!--
            var a = 2; // Bit presentation 10
            var b = 3; // Bit presentation 11
            var linebreak = "
";
        
            document.write("(a & b) => ");
            result = (a & b);
            document.write(result);
            document.write(linebreak);
        
            document.write("(a | b) => ");
            result = (a | b);
            document.write(result);
            document.write(linebreak);
        
            document.write("(a ^ b) => ");
            result = (a ^ b);
            document.write(result);
            document.write(linebreak);
        
            document.write("(~b) => ");
            result = (~b);
            document.write(result);
            document.write(linebreak);
        
            document.write("(a << b) => ");
            result = (a << b);
            document.write(result);
            document.write(linebreak);
        
            document.write("(a >> b) => ");
            result = (a >> b);
            document.write(result);
            document.write(linebreak);
         //-->
      </script>
     
    
   </body>
</html>
(a & b) => 2
(a | b) => 3
(a ^ b) => 1
(~b) => -4
(a << b) => 16
(a >> b) => 0

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

JavaScript поддерживает следующие операторы присваивания -

Оператор Описание
= (Простое назначение)Назначает значения из операнда правой стороны в левый операнд Пример: C = A + B присваивает значение A + B в C
+ = (Добавить и присвоить)Он добавляет правый операнд в левый операнд и присваивает результат левому операнду. Пример: C + = A эквивалентен C = C + A
- = (вычесть и присвоить)Он вычитает правый операнд из левого операнда и присваивает результат левому операнду. Пример: C - = A эквивалентен C = C - A
* = (Умножение и назначение)Он умножает правый операнд на левый операнд и присваивает результат левому операнду. Пример: C * = A эквивалентен C = C * A
/ = (Разделение и присвоение)Он делит левый операнд на правый операнд и присваивает результат левому операнду. Пример: C / = A эквивалентен C = C / A
% = (Модули и присвоение)Он принимает модуль с использованием двух операндов и присваивает результат левому операнду. Пример: C% = A эквивалентен C = C% A

Примечание. Такая же логика применяется к Побитовым операторам, поэтому они станут такими, как << =, >> =, >> =, & =, | = и ^ =.

пример

Попробуйте выполнить следующий код для реализации оператора присваивания в JavaScript.

<html>
   <body>
  
      <script type="text/javascript">
         <!--
            var a = 33;
            var b = 10;
            var linebreak = "
";
        
            document.write("Value of a => (a = b) => ");
            result = (a = b);
            document.write(result);
            document.write(linebreak);
        
            document.write("Value of a => (a += b) => ");
            result = (a += b);
            document.write(result);
            document.write(linebreak);
        
            document.write("Value of a => (a -= b) => ");
            result = (a -= b);
            document.write(result);
            document.write(linebreak);
        
            document.write("Value of a => (a *= b) => ");
            result = (a *= b);
            document.write(result);
            document.write(linebreak);
        
            document.write("Value of a => (a /= b) => ");
            result = (a /= b);
            document.write(result);
            document.write(linebreak);
        
            document.write("Value of a => (a %= b) => ");
            result = (a %= b);
            document.write(result);
            document.write(linebreak);
         //-->
      </script>
    
   </body>
</html>
Результат
Value of a => (a = b) => 10
Value of a => (a += b) => 20
Value of a => (a -= b) => 10
Value of a => (a *= b) => 100
Value of a => (a /= b) => 10
Value of a => (a %= b) => 0

Разное

Мы обсудим здесь два оператора, которые весьма полезны в JavaScript: условный оператор (? :) и оператор typeof.

Условный оператор (? :)

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

Оператор Описание
? : (Условно)Если условие верно? Тогда значение X: В противном случае значение Y
пример

Попробуйте следующий код, чтобы понять, как работает Условный оператор в JavaScript.

<html>
   <body>
  
      <script type="text/javascript">
         <!--
            var a = 10;
            var b = 20;
            var linebreak = "
";
        
            document.write ("((a > b) ? 100 : 200) => ");
            result = (a > b) ? 100 : 200;
            document.write(result);
            document.write(linebreak);
        
            document.write ("((a < b) ? 100 : 200) => ");
            result = (a < b) ? 100 : 200;
            document.write(result);
            document.write(linebreak);
         //-->
      </script>
     
    
   </body>
</html>
Результат
((a > b) ? 100 : 200) => 200
((a < b) ? 100 : 200) => 100

Оператор typeof

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

Оператор typeof вычисляет значение «number», «string» или «boolean», если его операнд является числом, строкой или логическим значением и возвращает true или false на основе оценки.

Ниже приведен список возвращаемых значений для оператора typeof.

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

Следующий код показывает, как реализовать оператор typeof.

<html>
   <body>
     
      <script type="text/javascript">
         <!--
            var a = 10;
            var b = "String";
            var linebreak = "
";
        
            result = (typeof b == "string" ? "B is String" : "B is Numeric");
            document.write("Result => ");
            document.write(result);
            document.write(linebreak);
        
            result = (typeof a == "string" ? "A is String" : "A is Numeric");
            document.write("Result => ");
            document.write(result);
            document.write(linebreak);
         //-->
      </script>
     
    
   </body>
</html>
Результат
Result => B is String
Result => A is Numeric



Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.

Ok