식 및 연산자
이 장은 JavaScript의 모든 연산자, 식 및 키워드를 나열합니다.
항목별 식 및 연산자
알파벳순 목록은 왼쪽 사이드바를 보세요.
기본 식
기본 키워드 및 JavaScript의 일반 식.
this-
this키워드는 실행 문맥의 특별한 속성을 가리킵니다. function-
function키워드는 함수를 정의합니다. class-
class키워드는 클래스를 정의합니다. function*-
function*키워드는 생성기 함수 식을 정의합니다. yield-
생성기 함수를 일시정지 및 재개합니다.
yield*-
다른 생성기 함수 또는 순회가능 객체로 위임합니다.
async function-
async function은 비동기 함수 표현식을 정의합니다. await-
비동기 함수를 일시 중지했다가 다시 시작하고 promise의 resolution/rejection을 기다립니다.
[]-
배열 초기자 및 리터럴 구문.
{}-
객체 초기자 및 리터럴 구문.
/ab+c/i-
정규식 리터럴 구문.
( )-
그룹 연산자.
좌변 식
좌변값은 할당 대상입니다.
- Property accessors
-
속성 접근자는 객체의 속성 또는 메서드에 대한 접근 방법을 제공합니다. (
object.property,object["property"]) new-
new연산자는 생성자의 인스턴스를 만듭니다. new.target-
생성자 문맥에서,
new.target은new에 의해 호출된 생성자를 말합니다. super-
super키워드는 부모 생성자를 호출합니다. ...obj-
전개 연산자는 (함수 호출 시) 매개변수 여럿이나, (배열 리터럴에서) 다수의 요소를 필요로 하는 곳에서 표현식을 확장합니다.
증가 및 감소
단항 연산자
산술 연산자
관계 연산자
비교 연산자는 피연산자를 비교하고, 비교가 참인지 여부를 나타내는 Boolean 값을 반환합니다.
in-
in연산자는 객체에 주어진 속성이 있는지를 결정합니다. instanceof-
instanceof연산자는 객체가 다른 객체의 인스턴스인지 판별합니다. <(en-US)-
작음 연산자.
>(en-US)-
큼 연산자.
<=(en-US)-
작거나 같음 연산자.
>=(en-US)-
크거나 같음 연산자.
참고: => 는 연산자가 아니고, 화살표 함수의 표기법입니다.
같음 연산자
같음 연산자의 평가 결과는 항상 Boolean 형으로 비교가 참인지 나타냅니다.
==-
동등 연산자.
!=-
부등 연산자.
===(en-US)-
일치 연산자.
!==(en-US)-
불일치 연산자.
비트 시프트 연산자
피연산자의 모든 비트를 시프트하는 연산.
<<-
비트 좌로 시프트 연산자.
>>(en-US)-
비트 우로 시프트 연산자.
>>>(en-US)-
비트 부호 없는 우로 시프트 연산자.
이진 비트 연산자
이진 논리 연산자
논리 연산자는 보통 사용될 때 불리언(논리) 값으로 사용되고, 불리언 값을 반환합니다.
&&-
논리 AND.
||(en-US)-
논리 OR.
??-
Nullish 통합 연산자.
조건부(삼항) 연산자
조건부 연산자는 조건의 논리값에 따라 두 값 중 하나를 반환합니다.
선택적 연결 연산자
할당 연산자
할당 연산자는 값을 그 우변 피연산자의 값에 따라 좌변 피연산자에 할당합니다.
=-
할당 연산자.
*=-
곱셈 할당.
**=-
거듭제곱 할당.
/=-
나눗셈 할당.
%=-
나머지 할당.
+=-
덧셈 할당.
-=-
뺄셈 할당
<<=-
좌로 이동 할당.
>>=(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