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"}