ES6 - Операторы

An expression- это особый вид оператора, который вычисляет значение. Каждое выражение состоит из -

  • Operands - Представляет данные.

  • Operator - Определяет, как операнды будут обрабатываться для получения значения.

Рассмотрим следующее выражение - 2 + 3. Здесь в выражении 2 и 3 являются операндами, а символ + (плюс) - оператором. JavaScript поддерживает следующие типы операторов -

  • Арифметические операторы
  • Логические операторы
  • Операторы отношения
  • Побитовые операторы
  • Операторы присваивания
  • Тернарные / условные операторы
  • Строковые операторы
  • Операторы типа
  • Оператор void

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

Предположим значения в переменных a и b равны 10 и 5 соответственно.

Показать примеры

Оператор Функция пример
+ Addition

Возвращает сумму операндов.

a + b равно 15
- Subtraction

Возвращает разницу значений.

ab 5
* Multiplication

Возвращает произведение значений.

а * б - 50
/ Division

Выполняет операцию деления и возвращает частное.

a / b равно 2
% Modulus

Делает и возвращает остаток.

a% b равно 0
++ Increment

Увеличивает значение переменной на единицу.

а ++ равно 11
- Decrement

Уменьшает значение переменной на единицу.

а- это 9

Операторы отношения

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

Предположим, что значение A равно 10, а B равно 20.

Показать примеры

Операторы Описание пример
> Лучше чем (A> B) ложно
< Меньше, чем (A <B) верно
> = Больше или равно (A> = B) ложно
<= Меньше или равно (A <= B) верно
== Равенство (A == B) ложно
знак равно Не равный (A! = B) верно

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

Логические операторы используются для объединения двух или более условий. Логические операторы также возвращают логическое значение. Предположим, что значение переменной A равно 10, а B равно 20.

Показать примеры .

Операторы Описание пример
&& And

Оператор возвращает истину, только если все указанные выражения возвращают истину.

(A> 10 && B> 10) ложно
|| Or

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

(A> 10 || B> 10) верно
! Not

Оператор возвращает результат, обратный выражению. Например:! (7> 5) возвращает false.

! (A> 10) верно

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

JavaScript поддерживает следующие побитовые операторы. В следующей таблице приведены побитовые операторы JavaScript.

Показать примеры .

Операторы Применение Описание
Побитовое И а и б Возвращает единицу в каждой битовой позиции, для которой соответствующие биты обоих операндов равны единице.
Побитовое ИЛИ а | б Возвращает единицу в каждой битовой позиции, для которой соответствующие биты одного или обоих операндов равны единице.
Побитовое исключающее ИЛИ а ^ б Возвращает единицу в каждой битовой позиции, для которой соответствующие биты одного, но не обоих операндов равны единице.
Побитовое НЕ ~ а Инвертирует биты своего операнда
Левый "шифт а << б Сдвигает a в двоичном представлении на b (<32) бит влево, сдвигая нули справа
Распространение знака вправо а >> б Сдвигает a в двоичном представлении на b (<32) бит вправо, отбрасывая сдвинутые биты
Сдвиг вправо с нулевым заполнением а >>> б Сдвигает a в двоичном представлении на b (<32) бит вправо, отбрасывая сдвинутые биты и сдвигая на нули слева

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

В следующей таблице приведены операторы присваивания.

Показать примеры .

Старший Нет Оператор и описание
1

= (Simple Assignment)

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

Example - C = A + B присвоит значение A + B в C

2

+= (Add and Assignment)

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

Example - C + = A эквивалентно C = C + A

3

-= (Subtract and Assignment)

Он вычитает правый операнд из левого операнда и присваивает результат левому операнду.

Example C - = A эквивалентно C = C - A

4

*= (Multiply and Assignment)

Он умножает правый операнд на левый и присваивает результат левому операнду.

Example C * = A эквивалентно C = C * A

5

/= (Divide and Assignment)

Он делит левый операнд с правым операндом и присваивает результат левому операнду.

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

Разные операторы

Ниже приведены некоторые из различных операторов.

Оператор отрицания (-)

Меняет знак значения. Следующая программа является примером того же.

var x = 4 
var y = -x; 
console.log("value of x: ",x); //outputs 4 
console.log("value of y: ",y); //outputs -4

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

value of x: 4 
value of y: -4

Строковые операторы: оператор конкатенации (+)

Оператор + при применении к строкам добавляет вторую строку к первой. Следующая программа помогает понять эту концепцию.

var msg = "hello"+"world" 
console.log(msg)

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

helloworld

Операция конкатенации не добавляет пробел между строками. Несколько строк могут быть объединены в один оператор.

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

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

Test ? expr1 : expr2

Где,

Test - относится к условному выражению

expr1 - Значение возвращается, если условие верно

expr2 - Значение возвращается, если условие ложно

Example

var num = -2 
var result = num > 0 ?"positive":"non-positive" 
console.log(result)

Строка 2 проверяет, больше ли значение переменной num нуля. Если для num задано значение больше нуля, возвращается строка «положительная», иначе возвращается «неположительная» строка.

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

non-positive

оператор typeof

Это унарный оператор. Этот оператор возвращает тип данных операнда. В следующей таблице перечислены типы данных и значения, возвращаемыеtypeof оператор в JavaScript.

Тип Строка, возвращаемая typeof
номер "количество"
Строка "строка"
Булево "логическое"
Объект "объект"

В следующем примере кода число отображается в качестве вывода.

var num = 12 
console.log(typeof num); //output: number

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

number

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

ES6 предоставляет новый оператор, называемый spread operator. Оператор спреда представлен тремя точками «...». Оператор распространения преобразует массив в отдельные элементы массива.

Оператор распространения и функция

В следующем примере показано использование операторов распространения в функции.

<script>
   function addThreeNumbers(a,b,c){
      return a+b+c;
   }
   const arr = [10,20,30]
   console.log('sum is :',addThreeNumbers(...arr))
   console.log('sum is ',addThreeNumbers(...[1,2,3]))
</script>

Вывод приведенного выше кода будет таким, как показано ниже -

sum is : 60
sum is 6

Оператор распространения и копирование и объединение массива

Оператор распространения может использоваться для копирования одного массива в другой. Его также можно использовать для объединения двух или более массивов. Это показано в примере ниже -

пример

<script>
   //copy array using spread operator
   let source_arr = [10,20,30]
   let dest_arr = [...source_arr]
   console.log(dest_arr)
	
   //concatenate two arrays
   let arr1 = [10,20,30]
   let arr2 =[40,50,60]
   let arr3 = [...arr1,...arr2]
   console.log(arr3)
</script>

Вывод приведенного выше кода будет таким, как указано ниже -

[10, 20, 30]
[10, 20, 30, 40, 50, 60]

Оператор распространения, копирование и объединение объектов

Оператор распространения может использоваться для копирования одного объекта в другой. Его также можно использовать для объединения двух или более объектов. Это показано в примере ниже -

<script>
   //copy object
   let student1 ={firstName:'Mohtashim',company:'TutorialsPoint'}
   let student2 ={...student1}
   console.log(student2)
   //concatenate objects
   let student3 = {lastName:'Mohammad'}
   let student4 = {...student1,...student3}
   console.log(student4)
</script>

Вывод приведенного выше кода будет таким, как указано ниже -

{firstName: "Mohtashim", company: "TutorialsPoint"}
{firstName: "Mohtashim", company: "TutorialsPoint", lastName: "Mohammad"}