В чем разница между выражением и оператором в JavaScript?

В JavaScript есть две основные синтаксические категории: выражения и операторы. Третий — оба вместе, называемый оператором выражения. Они грубо резюмируются следующим образом:

  • Выражение: создает значение.
  • Оператор: выполняет действие.
  • Оператор-выражение: создает значение и выполняет действие.

Общее практическое правило:

Если вы можете распечатать его или присвоить переменной, это выражение. Если не можете, это заявление.

Заявления

let x = 0

function declaration() {}

if (true) {
}
// Assign `x` to the absolute value of `y`.
var x
if (y >= 0) {
  x = y
} else {
  x = -y
}

Операторы выглядят как инструкции, которые что-то делают, но не создают значений.

Единственное выражение в приведенном выше коде — y >= 0, которое возвращает значение true или false. Значение не создается другими частями кода.

Выражения

Выражения создают значение. Их можно передавать функциям, поскольку интерпретатор заменяет их значением, которое они разрешают.

5 + 5 // => 10
lastCharacter("input") // => "t"
true === true // => true

Операторы выражения

Существует эквивалентная версия набора операторов, использованного ранее в качестве выражения с использованием условного оператора:

// Assign `x` as the absolute value of `y`.
var x = y >= 0 ? y : -y

Это одновременно выражение и оператор, поскольку мы объявляем переменную x (оператор) как оценку (выражение).

자바스크립트에서 표현식과 명령문의 차이점은 무엇인가?

Нажмите на кнопку «Получить» и нажмите кнопку «Получить». 세 번째는 이 둘이 함께 사용되어 표현식 문(оператор)이라고 한다. 이들은 다음과 같이 요약된다:

  • 표현식: 값을 생성한다.
  • 명령문: 작업을 수행한다.
  • 표현식 문: 값을 생성하고 작업을 수행한다.

경험적인 일반 원칙:

출력하거나 변수에 할당할 수 있다면 그것은 표현식이다. 할 수 없다면 명령문이다.

명령문(Заявления)

let x = 0

function declaration() {}

if (true) {
}
// 'x'를 'y'의 절대값으로 할당합니다.
var x
if (y >= 0) {
  x = y
} else {
  x = -y
}

명령문은 무언가를 수행하지만 값을 생성하지는 않는다.

위 코드에서 유일한 표현식은 y >= 0으로, 이는 true또는 false 값을 생성한다. 코드의 다른 부분에서 값은 생성되지 않는다.

표현식(Выражения)

표현식은 값을 생성한다. 해석기는 이 표현식을 해당 값으로 대체하기 때문에 함수에 전달될 수 있다.

5 + 5 // => 10
lastCharacter("input") // => "t"
true === true // => true

표현식 문(Операторы выражения)

위에 사용된 명령문 코드를 조건 연산자(условный оператор) 를 사용한 동등한 표현식이다.

// 'x'를 'y'의 절대값으로 할당합니다.
var x = y >= 0 ? y : -y

이것은 표현식이자 명령문인데, 변수 x(명령문)를 평가(표현식)로 선언하기 때문이다.