Любая единица кода, которая может быть преобразована в значение, является выражением. Поскольку выражения производят значения, они могут появляться в любом месте программы, где JavaScript ожидает значение, такое как аргументы вызова функции.

Существует два типа выражений: имеющие побочные эффекты (например, присваивание значений) и чисто оценивающие.

Самый распространенный способ построить сложное выражение из более простых выражений — использовать оператор. Оператор каким-то образом комбинирует значения своих операндов (обычно двух из них) и возвращает новое значение.

В Javascript существует 6 типов выражений, и ниже мы кратко обсудим их.

  1. Первичные выражения.Первичные выражения в JavaScript представляют собой постоянные или литеральные значения, определенные ключевые слова языка и ссылки на переменные. Например -
Literal values -> 23 is a number literal
"hello" is a string literal
Reserved keywords - Eg- true, false, null, this
Variable reference - reference to a variable, constant, or property of the global object: Eg- sum, undefined

2. Инициализаторы объектов и массивов.Инициализаторы объектов и массивов — это выражения, значение которых представляет собой вновь созданный объект или массив.

  • В инициализаторе массива элементы нового массива инициализируются значениями выражений, разделенных запятыми. Например -
[] is an empty array
[3,7] is an array with 1st element as 3 and 2nd element as 7
  • Выражения инициализатора объекта аналогичны выражениям инициализатора массива, но квадратные скобки заменены фигурными скобками, а перед каждым подвыражением стоит имя свойства и двоеточие: Например:
let q = {};               //An object with no properties
let p = {                 //An object with 2 properties
          x: 2.3, 
          y: -1.2 
         }; 

3. Выражения определения функции. Выражение определения функции обычно состоит из ключевого слова function, за которым следует разделенный запятыми список из нуля или более имен параметров в круглых скобках и блок кода JavaScript. код (тело функции) в фигурных скобках. Например -

let square = function(x) {       // This function returns the square of the value passed to it.
                return x * x;
            };

4. Выражения доступа к свойствам.Выражение доступа к свойствам оценивается как значение свойства объекта или элемента массива. JavaScript определяет два синтаксиса для доступа к свойствам:

  • expression.identifier — выражение с записью через точку
  • expression [ выражение ] — имя свойства или индекс свойства объекта или массива.
let o = { x: 1, y: {z: 3} };
let a = [o, 4, [5, 6]];
o.x   // 1: property x of expression o
a[1] // 4 element at index 1 of array a

С любым синтаксисом выражение перед . или [ оценивается, и если значение равно null или не определено, то Javascript выдает ошибку TypeError, поскольку это два значения JavaScript, которые не могут иметь свойств.

Используя условный доступ к свойству (?.), можно предотвратить вышеупомянутые ошибки, и это также называется дополнительной цепочкой.

5. Выражения вызова.Выражение вызова — это синтаксис JavaScript для вызова (или выполнения) функции или метода. Например — a.sort()

В ES2020 вы также можете вызывать функцию, используя ?.()(условный вызов) вместо ().

6. Выражения создания объекта.Выражение создания объекта создает новый объект с использованием ключевого слова new и вызывает функцию (называемую конструктором) для инициализации свойств этого объекта. Например -

new Point(2,3)  //Creating a Point object using new keyword

Следующие шаги

Следующие несколько постов станут частью серии, посвященной основам и продвинутым темам JavaScript.

Если вам понравилась эта история, нажмите кнопку 👏 и поделитесь ею, чтобы другие тоже могли ее найти! Кроме того, не стесняйтесь оставлять комментарии ниже.

Groww Engineering публикует технические анекдоты, новейшие технологии и лучшие способы решения распространенных проблем программирования. Вы можете подписаться здесь, чтобы получать последние обновления.

Мы нанимаем. Посмотреть вакансии здесь.