Выражения это кусочки кода которые могут быть выполнены и в результате получено значение. В JavaScript существует несколько категорий выражений.
Арифметические выражения
Результат выполнения данных выражений всегда будет число.
10 + 2 // 12
5 * 10 // 50
100++ // 101
100-- // 99
50 / 10 // 5
56 - 16 // 40
let i = 5;
i += 10; // 15
i -= 5; // 10
i *= 2; // 20
i /= 4; // 5
Выражения вида += следует рассматривать как “синтаксический сахар”, то есть на самом деле операция i += 10;
примет вид i = i + 10
. Это сделано специально, для удобства.
Строковые выражения
Выражения результат которых будет преобразован в строку
‘A’ + “BCDEFG” // ‘ABCDEFG’
let x = ‘Hello ’;
x += “Gorev”; // “Hello Gorev”
Первичные выражения
Самые простые выражения. Они не включают ничего, кроме значения. К этим выражениям относятся следующее: литералы, константы, переменные, определенные зарезервированные слова.
undefined
null
12345
3.14
‘Hello World'
true
false
this // вернет текущий объект
i // вернет значение переменной i
Выражения инициализации объектов и массивов
Здесь представлены выражения с помощью которых можно создать массивы и объекты.
[] // инициализация массива
{} // инициализация объекта
[1, 2, 3] // инициализация массива с предопределенными значениями
{a: 1, b: 2} // инициализация объекта с предопределенными параметрами
{a: 1, b: {c: 3}} // инициализация объекта с предопределенными параметром объектом
Логические выражения
В данную категорию попали операции над логическими операндами
true && false // false
true || false // true
!true // false
Левосторонние выражения
Значения слева являются назначением присваивания.
new // создает объект с помощью конструктора
super // обращение к родительскому объекту
…obj // выражение использующее оператор распространения
Выражения доступа к свойствам объекта
В JavaScript существует несколько методов получения доступа к свойству объекта:
obj.property // точечный доступ к объекту
obj[‘property'] // скобочный доступ к объекту
Выражения создания объектов
Можно использовать оператор new для создания новых объектов. По факту будет вызвана функция-конструктор, которая подготовит и создаст новый объект. Функция-конструктор может принимать аргументы как любая обычная функция.
new Box();
new Circle({cx: 0, cy: 0, r:10});
new Rectangle(1,5);
Выражения определения функций
Что определить функцию в JavaScript можно воспользоваться следующими подходами:
// именованные функции
function sum() {};
// безымянная функции
function() {};
function(a, b) { return a * b };
// стрелочные функции
(a, b) => a * b;
a => a * 2;
() => { return 2 };
Выражения вызова функций
Последний тип выражении - это те что используются для вызова функций, результат таких выражений зависит от функций.
sum(1,2,3,4);
obj.method1();
В следующей статье
Мы рассмотрим инструкции языка JavaScript.