Рубрики
Без рубрики

Выражения JavaScript

Выражения – это единицы кода, которые могут быть вычислены и преобразованы в значение. Выражения в JS можно разделить на категории.

  • Арифметические выражения
  • Строковые выражения
  • Основные выражения
  • Выражения инициализаторов массивов и объектов
  • Логические выражения
  • Выражения с левой стороны
  • Выражения доступа к свойствам
  • Выражения для создания объектов
  • Выражения определения функций
  • Выражения вызова

Арифметические выражения

В эту категорию попадают все выражения, которые вычисляются до числа:

1 / 2
i++
i -= 2
i * 2

Строковые выражения

Выражения, которые преобразуются в строку:

'A ' + 'string'

Основные выражения

В эту категорию входят ссылки на переменные, литералы и константы:

2
0.02
'something'
true
false
this //the current object
undefined
i //where i is a variable or a constant

но также и некоторые языковые ключевые слова:

function
class
function* //the generator function
yield //the generator pauser/resumer
yield* //delegate to another generator or iterator
async function* //async function expression
await //async function pause/resume/wait for completion
/pattern/i //regex
() // grouping

Выражения инициализаторов массивов и объектов

[] //array literal
{} //object literal
[1,2,3]
{a: 1, b: 2}
{a: {b: 1}}

Логические выражения

Логические выражения используют логические операторы и преобразуются в логическое значение:

a && b
a || b
!a

Выражения с левой стороны

new //create an instance of a constructor
super //calls the parent constructor
...obj //expression using the spread operator

Смотрите учебник по оператору распространения

Выражения доступа к свойствам

object.property //reference a property (or method) of an object
object[property]
object['property']

Выражения для создания объектов

new object()
new a(1)
new MyRectangle('name', 2, {a: 4})

Выражения определения функций

function() {}
function(a, b) { return a * b }
(a, b) => a * b
a => a * 2
() => { return 2 }

Выражения вызова

Синтаксис вызова функции или метода

a.x(2)
window.resize()

Оригинал: “https://flaviocopes.com/javascript-expressions/”