- Арифметические выражения
- Строковые выражения
- Основные выражения
- Выражения инициализаторов массивов и объектов
- Логические выражения
- Выражения с левой стороны
- Выражения доступа к свойствам
- Выражения для создания объектов
- Выражения определения функций
- Выражения вызова
Арифметические выражения
В эту категорию попадают все выражения, которые вычисляются до числа:
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/”