← Назад к вопросам

Что такое Expression?

1.0 Junior🔥 81 комментариев
#JavaScript Core

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI2 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Что такое Expression в JavaScript

Expression (выражение) — это любой фрагмент кода, который возвращает значение. Это фундаментальное понятие в JavaScript, отличное от Statement (инструкции/операторов).

Основное отличие

Statement — это команда, которая выполняет действие. Не возвращает значение:

if (x > 5) {
  console.log("x больше 5");
}

for (let i = 0; i < 10; i++) {
  // действие
}

Expression — это код, который вычисляется и возвращает значение:

5 + 3              // expression, возвращает 8
"hello" + " world" // expression, возвращает "hello world"
x > 5              // expression, возвращает true или false
function() { }     // function expression

Примеры Expressions

// Арифметические expressions
2 + 3 * 4          // 14
10 / 2             // 5
x % 3              // остаток от деления

// Логические expressions
a && b             // логическое И
a || b             // логическое ИЛИ
!isActive          // логическое НЕ

// Условные expressions (ternary operator)
age > 18 ? "взрослый" : "ребёнок"

// Function expression
const add = function(a, b) {
  return a + b;
};

// Arrow function expression
const multiply = (a, b) => a * b;

// Object expression
const user = { name: "Иван", age: 30 };

// Array expression
const numbers = [1, 2, 3, 4, 5];

// Template literal expression
`Привет, ${name}!`

Expression Statement

Интересный случай — Expression Statement — выражение, используемое как инструкция:

function(); // function call expression используется как statement
x = 5;      // assignment expression используется как statement
console.log("hi"); // call expression используется как statement

Разница видна в контексте:

// Это expression (возвращает значение, которое мы используем)
const result = 5 + 3;

// Это тоже expression, но используется как statement
5 + 3; // результат 8 просто игнорируется

Ключевые типы Expressions

  • Literal expressions42, "строка", true, null
  • Identifier expressionx, name, myFunction
  • Operator expressionsa + b, x > y, !flag
  • Function expressionsfunction(x) { }, (x) => x * 2
  • Member expressionsobj.property, arr[0]
  • Call expressionsmyFunc(), Math.max(1, 2)
  • Conditional expressionscondition ? value1 : value2

Практическое значение

Понимание expressions важно потому, что:

  • В React используются выражения для рендеринга: {isActive && <Component />}
  • JSX требует expressions внутри фигурных скобок
  • Работа с функциональным программированием (map, filter, reduce) требует понимания expressions
  • Debugging и понимание, что вернёт код
// Рендеринг в React
return (
  <div>
    {user ? <span>{user.name}</span> : <p>Нет пользователя</p>}
    {items.map(item => <Item key={item.id} data={item} />)}
  </div>
);

Итог: Expression — это любой код, который возвращает значение и может быть использован в выражениях, присваиваниях или как аргумент функции.