В чем разница между выражением и оператором в 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(명령문)를 평가(표현식)로 선언하기 때문이다.