이 장은 JavaScript 언어의 모든 연산자(operator), 식(expression) 및 키워드를 문서화합니다.
항목별 식 및 연산자
알파벳순 목록은 왼쪽 사이드바를 보세요.
기본 식
기본 키워드 및 JavaScript의 일반 식.
thisthis키워드는 함수의 실행 컨텍스트(문맥)를 말합니다.functionfunction키워드는 함수 식을 정의합니다.classclass키워드는 클래스 식을 정의합니다.function*function*키워드는 생성기(generator) 함수 식을 정의합니다.yield- 생성기 함수를 일시정지(pause) 및 재개(resume)합니다.
yield*- 다른 생성기 함수 또는 반복가능(iterable) 객체로 위임합니다(delegate).
[]- 배열 초기자/리터럴 구문.
{}- 객체 초기자/리터럴 구문.
/ab+c/i- 정규식 리터럴 구문.
( )- 그룹화 연산자.
좌변 식
좌변값은 할당(assignment)의 대상입니다.
- 속성 접근자
- member 연산자는 객체의 속성(property) 또는 메서드에 액세스를 제공합니다
(object.property및object["property"]). newnew연산자는 생성자의 인스턴스를 만듭니다.- new.target
- 생성자에서,
new.target은new에 의해 호출된 생성자를 말합니다. supersuper키워드는 부모 생성자를 호출합니다....obj- 전개(spread) 연산자는 식이 여러 인수(함수 호출 용) 또는 여러 요소(배열 리터럴 용)가 예상되는 곳에 확장될 수 있도록 합니다.
증가 및 감소
접미(postfix)/접두(prefix) 증가 및 접미/접두 감소 연산자.
단항 연산자
단항(unary) 연산은 피연산자가 하나뿐인 연산입니다.
deletedelete연산자는 객체에서 속성을 지웁니다.voidvoid연산자는 식의 반환값을 버립니다.typeoftypeof연산자는 주어진 객체의 형을 결정합니다.+- 단항 더하기 연산자는 그 피연산자를 숫자형으로 변환합니다.
-- 단항 부정(negation) 연산자는 그 피연산자를 숫자형으로 변환한 뒤 부정합니다.
~- 비트 NOT 연산자.
!- 논리 NOT 연산자.
산술 연산자
산술 연산자는 피연산자로 숫자 값(리터럴 또는 변수 중 하나)을 취하고 숫자 값 하나를 반환합니다.
-
** - 지수 연산자.
관계 연산자
비교(comparison) 연산자는 피연산자를 비교하여 비교가 참인지 여부에 따라 Boolean 값을 반환합니다.
inin연산자는 객체가 주어진 속성이 있는지를 결정합니다.instanceofinstanceof연산자는 객체가 다른 객체의 인스턴스인지를 결정합니다.<- 작음 연산자.
>- 큼 연산자.
<=- 작거나 같음 연산자.
>=- 크거나 같음 연산자.
주의: => 는 연산자가 아닙니다, 하지만 화살표 함수를 위한 표기법입니다.
같음 연산자
같음(equality) 연산자 평가 결과는 항상 비교가 참인지 여부에 기반을 둔 Boolean 형입니다.
비트 시프트 연산자
피연산자의 모든 비트를 이동(shift)하는 연산.
이진 비트 연산자
비트 연산자는 피연산자를 32비트 집합(0과 1)으로 다루고 표준 JavaScript 숫자 값을 반환합니다.
이진 논리 연산자
논리 연산자는 보통 사용될 때 boolean(논리) 값으로 사용되고, boolean 값을 반환합니다.
조건 (3항) 연산자
(condition ? ifTrue : ifFalse)-
조건 연산자는 조건의 논리값에 따라 두 값 중 하나를 반환합니다.
할당 연산자
할당(assignment) 연산자는 값을 그 우변 피연산자의 값에 따라 좌변 피연산자에 할당합니다.
=- 할당 연산자.
*=- 곱셈 할당.
/=- 나눗셈 할당.
%=- 나머지 할당.
+=- 덧셈 할당.
-=- 뺄셈 할당
<<=- 좌로 이동 할당.
>>=- 우로 이동 할당.
>>>=- 부호 없는 우로 이동 할당.
&=- 비트 AND 할당.
^=- 비트 XOR 할당.
|=- 비트 OR 할당.
[a, b] = [1, 2]
{a, b} = {a:1, b:2}-
해체(destructuring) 할당은 배열 또는 객체의 속성을 배열 또는 객체 리터럴과 비슷해 보이는 구문을 사용하여 변수에 할당할 수 있게 합니다.
쉼표 연산자
,- 쉼표 연산자는 여러 식을 단문으로 평가되게 하고 마지막 식의 결과를 반환합니다.
비표준 기능
- Legacy generator function
function키워드는 식 내부 legacy 생성기 함수를 정의하는데 사용될 수 있습니다. 함수를 legacy 생성기로 만들기 위해서는, 함수 몸통(body)은 적어도 하나의yield식을 포함해야 합니다.- Expression closures
- 식 클로저(closure)는 간단한 함수 작성을 위한 단축 구문입니다.
-
[for (x of y) x] - 배열 내포(comprehension).
-
(for (x of y) y) - 생성기 내포.

