CoffeeScript - Операторы и псевдонимы

Операторы CoffeeScript

Оператор - это символ, который указывает компилятору выполнять определенные математические или логические функции. Возьмем простое выражение4 + 5 is equal to 9. Здесь 4 и 5 называютсяoperands а '+' называется operator.

Операторы, предоставляемые CoffeeScript, такие же, как и в JavaScript, за исключением нескольких отличий. В JavaScript есть несколько проблемных операторов. CoffeeScript либо удалил их, либо изменил их функциональность, а также представил несколько новых операторов.

Ниже приведен список операторов, поддерживаемых CoffeeScript.

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

Псевдонимы CoffeeScript

Помимо операторов, CoffeeScript также предоставляет псевдонимы. CoffeeScript предоставляет псевдонимы для различных операторов и символов, чтобы сделать ваш код CoffeeScript более читабельным и удобным для пользователя.

Давайте посмотрим на все операторы и псевдонимы CoffeeScript один за другим.

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

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

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

S.No Оператор и описание пример
1

+ (Addition)

Добавляет два операнда

А + В = 30
2

− (Subtraction)

Вычитает второй операнд из первого

А - В = -10
3

* (Multiplication)

Умножьте оба операнда

А * В = 200
4

/ (Division)

Разделите числитель на знаменатель

В / А = 2
5

% (Modulus)

Выводит остаток от целочисленного деления.

B% A = 0
6

++ (Increment)

Увеличивает целое значение на единицу

А ++ = 11
7

-- (Decrement)

Уменьшает целое значение на единицу

А-- = 9

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

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

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

S.No Оператор и описание пример
1

= = (Equal)

Проверяет, равны ли значения двух операндов или нет, если да, то условие становится истинным.

(A == B) неверно.
2

!= (Not Equal)

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

(A! = B) верно.
3

> (Greater than)

Проверяет, больше ли значение левого операнда, чем значение правого операнда, если да, то условие становится истинным.

(A> B) неверно.
4

< (Less than)

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

(A <B) верно.
5

>= (Greater than or Equal to)

Проверяет, больше ли значение левого операнда или равно значению правого операнда. Если да, то условие становится истинным.

(A> = B) неверно.
6

<= (Less than or Equal to)

Проверяет, меньше ли значение левого операнда или равно значению правого операнда, если да, то условие становится истинным.

(A <= B) верно.

В следующей таблице показаны псевдонимы для некоторых операторов сравнения. ПредположимA держит 20 и переменная B держит 20.

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

Оператор Псевдоним пример
= = (Равно) is A is B дает вам правду.
! = = (Не равно) isnt A isnt B дает вам ложь.

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

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

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

S.No Оператор и описание пример
1

&& (Logical AND)

Если оба операнда ненулевые, условие становится истинным.

(A && B) верно.
2

|| (Logical OR)

Если любой из двух операндов отличен от нуля, условие становится истинным.

(A || B) верно.
3

! (Logical NOT)

Изменяет логическое состояние своего операнда на обратное. Если условие истинно, то оператор логического НЕ сделает его ложным.

! (A && B) ложно.

В следующей таблице показаны псевдонимы для некоторых логических операторов. ПредположимX держит true и переменная Y держит false.

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

Оператор Псевдоним пример
&& (логическое И) and X and Y дает вам ложь
|| (Логическое ИЛИ) or X or Y дает вам правду
! (не х) not not X дает вам ложь

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

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

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

S.No Оператор и описание пример
1

& (Bitwise AND)

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

(A и B) равно 2.
2

| (BitWise OR)

Он выполняет логическую операцию ИЛИ над каждым битом своих целочисленных аргументов.

(A | B) равно 3.
3

^ (Bitwise XOR)

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

(A ^ B) равно 1.
4

~ (Bitwise Not)

Это унарный оператор, который меняет местами все биты в операнде.

(~ B) равно -4.
5

<< (Left Shift)

Он перемещает все биты в своем первом операнде влево на количество разрядов, указанное во втором операнде. Новые биты заполняются нулями. Сдвиг значения влево на одну позицию эквивалентен его умножению на 2, сдвиг на две позиции эквивалентен умножению на 4 и т. Д.

(A << 1) равно 4.
6

>> (Right Shift)

Оператор двоичного сдвига вправо. Значение левого операнда перемещается вправо на количество битов, заданное правым операндом.

(A >> 1) равно 1.

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

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

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

S.No Оператор и описание пример
1

= (Simple Assignment )

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

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

+= (Add and Assignment)

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

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

-= (Subtract and Assignment)

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

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

*= (Multiply and Assignment)

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

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

/= (Divide and Assignment)

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

C / = A эквивалентно C = C / A
6

%= (Modules and Assignment)

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

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

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

Оператор равенства в CoffeeScript

При работе с JavaScript вы встретите два типа операторов равенства == и ===.

В == оператор в JavaScript type coercive, т. е. если типы двух операндов в операции различны, то тип данных одного оператора преобразуется в другой, а затем сравниваются оба.

CoffeeScript избегает этого нежелательного принуждения, он компилирует == оператор в оператор строгого сравнения JavaScript ===.

Если мы сравним два операнда, используя ===, затем возвращается true, только если их значение и типы данных равны, иначе возвращается false.

пример

Рассмотрим следующий пример. Здесь у нас есть две переменныеa и b. a содержит значение 21 целочисленного типа и b имеет такую ​​же ценность, но имеет stringтип. В CoffeeScript, когда мы сравниваемa и b, результат будет false. (Поскольку== оператор CoffeeScript преобразуется в === оператор JavaScript)

a=21
b="21"
result = 21=='21'
console.log result

При компиляции приведенный выше CoffeeScript создает следующий код JavaScript

// Generated by CoffeeScript 1.10.0
(function() {
  var a, b, result;
  
  a = 21;
  
  b = "21";
  
  result = a === b;
  console.log(result);
}).call(this);

При выполнении он производит следующий вывод.

false

Экзистенциальный оператор

CoffeeScript предоставляет новый оператор, известный как оператор существования, для проверки существования переменной. Обозначается он?. Если переменная не имеет значения null или undefined, экзистенциальный оператор возвращает true.

пример

Ниже приводится пример экзистенциального оператора. Здесь мы имеем три переменные, а именноname, age, и subject и мы проверяем существование переменных name и phone с помощью экзистенциального оператора.

name="Ramu"
age=24
subject="Engineering"
verify_name = name?
verify_phone = phone?
console.log verify_name
console.log verify_phone

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

// Generated by CoffeeScript 1.10.0
(function() {
  var age, name, subject, verify_name, verify_phone;
  name = "Ramu";
  age = 24;

  subject = "Engineering";
  verify_name = name != null;
  verify_phone = typeof phone !== "undefined" && phone !== null;
  console.log(verify_name);
  console.log(verify_phone);

}).call(this);

Если мы выполним указанный выше файл CoffeeScript, он выдаст следующий результат.

true
false

Note - У нас есть вспомогательный вариант экзистенциального оператора ?. Мы можем использовать его вместо. оператор, чтобы узнать пустые ссылки.

Цепные сравнения

Как и в Python, мы можем использовать цепочку операторов сравнения в одном выражении в CoffeeScript.

пример

Ниже приведен пример использования цепного сравнения.

score = 70
passed = 100 > score > 40

console.log passed

При компиляции из примера CoffeeScript вы получите следующий код JavaScript.

// Generated by CoffeeScript 1.10.0
(function() {
  var passed, score;

  score = 70;

  passed = (100 > score && score > 40);

  console.log(passed);

}).call(this);

Если вы выполните приведенный выше код CoffeeScript, он выдаст следующий результат.

true

Note- CoffeeScript удаляет тернарный оператор; вместо него мы можем использоватьinline if заявление.

Псевдонимы CoffeeScript

В общем, CoffeeScript предоставляет псевдонимы различным операторам и символам, чтобы сделать ваш код CoffeeScript читабельным и более удобным для пользователя. Ниже приведены псевдонимы, предоставленные CoffeeScript.

имя Оператор / символ Псевдонимы
оператор "равно" == является
оператор "не равно" ! == не
оператор "не" ! не
оператор "И" && и
оператор "или" || или же
логическое значение истина правда правда, да, на
логическое значение false ложный выкл, нет
текущий объект это @
новая строка (или) точка с запятой \ n или; тогда
Инверсия если ! если если только
Чтобы проверить наличие массива в
Проверить наличие объекта из
Возведение в степень а**б
Целочисленное деление а//б
зависимый от дивиденда по модулю а%%б

пример

В следующем примере показано, как использовать псевдонимы в CoffeeScript -

a=21; b=21

x = true; y = false

console.log a is b

console.log a isnt b

console.log x and y

console.log x or y

console.log yes or no

console.log on or off

console.log a**b

console.log a//b

console.log a%%b

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

// Generated by CoffeeScript 1.10.0
(function() {
  var a, b, x, y,
    modulo = function(a, b) { return (+a % (b = +b) + b) % b; };

  a = 21;

  b = 21;

  x = true;

  y = false;

  console.log(a === b);

  console.log(a !== b);

  console.log(x && y);

  console.log(x || y);

  console.log(true || false);

  console.log(true || false);

  console.log(Math.pow(a, b));

  console.log(Math.floor(a / b));

  console.log(modulo(a, b));

}).call(this);

Если вы выполните указанный выше файл CoffeeScript, он выдаст следующий результат:

true
false
false
true
true
true
5.842587018385982e+27
1
0