식 및 연산자
이 장은 JavaScript의 모든 연산자, 식 및 키워드를 나열합니다.
항목별 식 및 연산자
알파벳순 목록은 왼쪽 사이드바를 보세요.
기본 식
기본 키워드 및 JavaScript의 일반 식.
thisthis키워드는 실행 문맥의 특별한 속성을 가리킵니다.functionfunction키워드는 함수를 정의합니다.classclass키워드는 클래스를 정의합니다.function*function*키워드는 생성기 함수 식을 정의합니다.yield- 생성기 함수를 일시정지 및 재개합니다.
yield*- 다른 생성기 함수 또는 순회가능 객체로 위임합니다.
async functionasync function은 비동기 함수 표현식을 정의합니다.
await- 비동기 함수를 일시 중지했다가 다시 시작하고 promise의 resolution/rejection을 기다립니다.
좌변 식
좌변값은 할당 대상입니다.
- Property accessors
- 속성 접근자는 객체의 속성 또는 메서드에 대한 접근 방법을 제공합니다.
(object.property,object["property"]) newnew연산자는 생성자의 인스턴스를 만듭니다.new.target- 생성자 문맥에서,
new.target은new에 의해 호출된 생성자를 말합니다. supersuper키워드는 부모 생성자를 호출합니다....obj- 전개 연산자는 (함수 호출 시) 매개변수 여럿이나, (배열 리터럴에서) 다수의 요소를 필요로 하는 곳에서 표현식을 확장합니다.
증가 및 감소
접두/접미 증감 연산자입니다.
A++(en-US)- 접미 증가 연산자.
A--(en-US)- 접미 감소 연산자.
++A(en-US)- 접두 증가 연산자.
--A(en-US)- 접두 감소 연산자.
단항 연산자
단항 연산은 피연산자가 하나뿐인 연산입니다.
산술 연산자
산술 연산자는 피연산자로 숫자 값(리터럴이나 변수)을 취하고 숫자 값 하나를 반환합니다.
**- 거듭제곱 연산자.
관계 연산자
비교 연산자는 피연산자를 비교하고, 비교가 참인지 여부를 나타내는 Boolean 값을 반환합니다.
inin연산자는 객체에 주어진 속성이 있는지를 결정합니다.instanceofinstanceof연산자는 객체가 다른 객체의 인스턴스인지 판별합니다.<(en-US)- 작음 연산자.
>(en-US)- 큼 연산자.
<=(en-US)- 작거나 같음 연산자.
>=(en-US)- 크거나 같음 연산자.
참고: => 는 연산자가 아니고, 화살표 함수의 표기법입니다.
같음 연산자
같음 연산자의 평가 결과는 항상 Boolean 형으로 비교가 참인지 나타냅니다.
==- 동등 연산자.
!=- 부등 연산자.
===(en-US)- 일치 연산자.
!==(en-US)- 불일치 연산자.
비트 시프트 연산자
피연산자의 모든 비트를 시프트하는 연산.
<<(en-US)- 비트 좌로 시프트 연산자.
>>(en-US)- 비트 우로 시프트 연산자.
>>>(en-US)- 비트 부호 없는 우로 시프트 연산자.
이진 비트 연산자
비트 연산자는 피연산자를 32비트 집합(0과 1)으로 다루고 표준 JavaScript 숫자 값을 반환합니다.
이진 논리 연산자
논리 연산자는 보통 사용될 때 불리언(논리) 값으로 사용되고, 불리언 값을 반환합니다.
&&(en-US)- 논리 AND.
||(en-US)- 논리 OR.
??- Nullish 통합 연산자.
조건부(삼항) 연산자
조건부 연산자는 조건의 논리값에 따라 두 값 중 하나를 반환합니다.
선택적 연결 연산자
할당 연산자
할당 연산자는 값을 그 우변 피연산자의 값에 따라 좌변 피연산자에 할당합니다.
=(en-US)- 할당 연산자.
*=- 곱셈 할당.
**=- Exponentiation assignment.
/=- 나눗셈 할당.
%=- 나머지 할당.
+=- 덧셈 할당.
-=- 뺄셈 할당
<<=(en-US)- 좌로 이동 할당.
>>=(en-US)- 우로 이동 할당.
>>>=(en-US)- 부호 없는 우로 이동 할당.
&=(en-US)- 비트 AND 할당.
^=(en-US)- 비트 XOR 할당.
|=(en-US)- 비트 OR 할당.
&&=(en-US)- 논리적 AND 할당.
||=(en-US)- 논리적 OR 할당.
??=(en-US)- 논리적 nullish 할당.
[a, b] = [1, 2]
{a, b} = {a:1, b:2}-
구조 분해 할당은 배열 또는 객체의 속성을 배열 또는 객체 리터럴과 비슷해 보이는 구문을 사용하여 변수에 할당할 수 있게 합니다.
쉼표 연산자
,- 쉼표 연산자는 여러 식을 단문으로 평가되게 하고 마지막 식의 결과를 반환합니다.
명세
브라우저 호환성
BCD tables only load in the browser