TypeScript - Операторы

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

Оператор определяет некоторую функцию, которая будет выполняться с данными. Данные, с которыми работают операторы, называются операндами. Рассмотрим следующее выражение -

7 + 5 = 12

Здесь значения 7, 5 и 12 являются operands, а + и = - operators.

Основные операторы в TypeScript можно классифицировать как -

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

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

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

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

Оператор Описание пример
+ (Дополнение) возвращает сумму операндов a + b равно 15
- (Вычитание) возвращает разницу значений а - б равно 5
* (Умножение) возвращает произведение значений а * б - 50
/ (Деление) выполняет операцию деления и возвращает частное a / b равно 2
% (Модуль) выполняет операцию деления и возвращает остаток a% b равно 0
++ (Приращение) Увеличивает значение переменной на единицу а ++ равно 11
- (Уменьшение) Уменьшает значение переменной на единицу а- это 9

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

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

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

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

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

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

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

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

Оператор Описание пример
&& (И) Оператор возвращает истину, только если все указанные выражения возвращают истину. (A> 10 && B> 10) ложно
|| (ИЛИ ЖЕ) Оператор возвращает истину, если хотя бы одно из указанных выражений возвращает истину. (A> 10 || B> 10) верно
! (НЕ) Оператор возвращает результат, обратный выражению. Например:! (> 5) возвращает false ! (A> 10) верно

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

Допустим, переменная A = 2 и B = 3

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

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

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

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

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

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

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

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

Меняет знак значения. Возьмем пример.

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

При компиляции он сгенерирует следующий код JavaScript.

//Generated by typescript 1.8.10
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:string = "hello"+"world" 
console.log(msg)

При компиляции он сгенерирует следующий код JavaScript.

//Generated by typescript 1.8.10
var msg = "hello" + "world";
console.log(msg);

Он выдаст следующий результат -

helloworld

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

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

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

Test ? expr1 : expr2
  • Test - относится к условному выражению

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

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

Давайте посмотрим на следующий код -

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

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

При компиляции он сгенерирует следующий код JavaScript.

//Generated by typescript 1.8.10
var num = -2;
var result = num > 0 ? "positive" : "non-positive";
console.log(result);

Приведенный выше фрагмент кода даст следующий результат:

non-positive

Типовые операторы

оператор typeof

Это унарный оператор. Этот оператор возвращает тип данных операнда. Взгляните на следующий пример -

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

При компиляции он сгенерирует следующий код JavaScript.

//Generated by typescript 1.8.10
var num = 12;
console.log(typeof num);   //output: number

Он выдаст следующий результат -

number

экземпляр

Этот оператор можно использовать для проверки того, принадлежит ли объект указанному типу или нет. Использованиеinstanceof оператор обсуждается в главе classes.