MDN 내 JavaScript 절의 이 부분은 JavaScript 언어에 관한 정보 저장소(facts repository)로 쓸 수 있습니다. 이 참고서에 관하여를 더 읽어보세요.
전역 객체들
이 장은 모든 JavaScript 표준 내장 객체를, 메서드 및 속성(property)과 함께 문서화합니다.
값 속성
이 전역 속성은 간단한 값을 반환합니다; 이들은 속성이나 메서드가 없습니다.
함수 속성
이 전역 함수—객체라기보다는 전역으로 호출되는 함수—는 직접 호출함수(caller)에 결과를 반환합니다.
eval()
uneval()
isFinite()
isNaN()
parseFloat()
parseInt()
decodeURI()
decodeURIComponent()
encodeURI()
encodeURIComponent()
escape()
unescape()
기초 객체
이는 다른 모든 객체의 기반이 되는 기초, 기본 객체입니다. 이는 일반 객체, 함수 및 오류를 나타내는 객체를 포함합니다.
Object
Function
Boolean
Symbol
Error
EvalError
InternalError
RangeError
ReferenceError
SyntaxError
TypeError
URIError
숫자 및 날짜
이는 숫자, 날짜 및 수학 계산을 나타내는 기본 객체입니다.
텍스트 처리
이 객체는 문자열을 나타내고 그 조작을 지원합니다.
인덱스 있는 컬렉션
이 객체는 인덱스 값으로 정렬된 데이터의 컬렉션을 나타냅니다. 이는 형식화(typed) 배열 및 배열 같은 구조체를 포함합니다.
Array
Int8Array
Uint8Array
Uint8ClampedArray
Int16Array
Uint16Array
Int32Array
Uint32Array
Float32Array
Float64Array
키 있는 컬렉션
이 객체는 키를 사용하는 컬렉션을 나타냅니다; 이들은 삽입 순서로 반복할 수 있는 요소를 포함합니다.
벡터 컬렉션
SIMD 벡터 데이터 형은 데이터가 줄(lane)에 배열된 객체입니다.
SIMD
SIMD.Float32x4
SIMD.Float64x2
SIMD.Int8x16
SIMD.Int16x8
SIMD.Int32x4
SIMD.Uint8x16
SIMD.Uint16x8
SIMD.Uint32x4
SIMD.Bool8x16
SIMD.Bool16x8
SIMD.Bool32x4
SIMD.Bool64x2
구조화된 데이터
이 객체는 구조화된 데이터 버퍼 및 JavaScript Object Notation (JSON)을 사용하여 코딩된 데이터를 나타내고 그들과 상호작용합니다.
제어 추상화 객체
리플렉션
국제화
ECMAScript 코어에 언어 구분 기능을 추가.
비표준 객체
기타
문
이 장은 모든 JavaScript 문 및 선언을 문서화합니다.
알파벳순 목록은 왼쪽 사이드바를 보세요.
흐름 제어
Block
- block 문은 0개 이상의 문을 그룹화하는 데 쓰입니다. 블록은 중괄호 한 쌍으로 구분됩니다.
break
- 현재 루프, switch 또는 label 문을 종료하고 프로그램 제어를 종료된 문의 다음 문으로 넘겨줍니다.
continue
- 현재 또는 레이블 달린 루프의 현재 반복 중인 문의 실행을 종료하고 루프의 실행은 다음 반복으로 이어집니다.
empty
- empty 문은 내용이 없는 빈 문을 제공하기 위해 사용됩니다, 비록 JavaScript 구문이 문을 기대할 것이지만.
if...else
- 지정된 조건이 true면 문을 실행. 조건이 false인 경우, 다른 문이 실행될 수 있습니다.
switch
- 식의 값이 case 절과 일치하는지 식을 평가하고 case 절과 관련된 문을 실행합니다.
throw
- 사용자 정의 예외가 발생합니다.
try...catch
- 시도(try)할 문 블록을 표시하고 예외가 발생되어야 하는 응답을 지정합니다.
선언
var
- 변수를 선언합니다, 변수를 값으로 초기화할 수 있습니다.
let
- 블록 범위 지역 변수를 선언합니다, 변수를 값으로 초기화할 수 있습니다.
const
- 읽기 전용 유명(named) 상수를 선언합니다.
함수 및 클래스
function
- 지정된 매개변수를 갖는 함수를 선언합니다.
function*
- 반복기를 더 쉽게 작성할 수 있게 하는 생성기 함수.
return
- 함수에 의해 반환되는 값을 지정합니다.
class
- 클래스를 선언합니다.
반복
do...while
- 테스트 조건이 거짓으로 평가될 때까지 지정된 문을 실행하는 루프를 만듭니다. 조건은 문을 실행한 후 평가됩니다, 그 결과 지정된 문은 적어도 한 번 실행됩니다.
for
- 괄호로 묶이고 세미콜론으로 구분된 선택사항 식 셋으로 구성된 루프를 만듭니다, 루프에서 실행되는 문이 뒤따릅니다.
-
for each...in
- 객체의 모든 속성값에 대해 지정된 변수를 반복합니다. 각 개별 속성에 대해, 지정된 문이 실행됩니다.
for...in
- 임의의 순서로 객체의 열거 속성을 반복합니다. 각 개별 속성에 대해, 문은 실행될 수 있습니다.
for...of
- 반복 가능한 객체 (배열, 배열 같은 객체, 반복기 및 생성기 포함) 를 반복합니다, 각 개별 속성값에 대해 실행되는 문을 가진 사용자 정의 반복 후크를 호출하는.
while
- 테스트 조건이 true로 평가되는 한 지정된 문을 실행하는 루프를 만듭니다. 조건은 문을 실행하기 전에 평가됩니다.
기타
debugger
- 이용 가능한 디버깅 기능을 호출합니다. 이용 가능한 기능이 없는 경우, 이 문은 아무 효과가 없습니다.
export
- 외부 모듈, 다른 스크립트에 가져올(import) 수 있도록 함수를 내보내(export)는데 사용됩니다.
import
- 외부 모듈, 다른 스크립트에서 내보낸 함수를 가져오는데 사용됩니다.
label
break
또는continue
문을 사용하여 참조할 수 있는 식별자 있는 문을 제공합니다.
-
with
- 문의 스코프 체인을 확장합니다.
표현식 및 연산자
이 장은 모든 JavaScript 표현식 및 연산자를 문서화합니다.
알파벳순 목록은 왼쪽 사이드바를 보세요.
기본 식
기본 키워드 및 JavaScript의 일반 식.
this
this
키워드는 함수의 실행 컨텍스트(문맥)를 말합니다.function
function
키워드는 함수 식을 정의합니다.class
class
키워드는 클래스 식을 정의합니다.function*
function*
키워드는 생성기(generator) 함수 식을 정의합니다.yield
- 생성기 함수를 일시정지(pause) 및 재개(resume)합니다.
yield*
- 다른 생성기 함수 또는 반복가능(iterable) 객체로 위임합니다(delegate).
[]
- 배열 초기자/리터럴 구문.
{}
- 객체 초기자/리터럴 구문.
/ab+c/i
- 정규식 리터럴 구문.
( )
- 그룹화 연산자.
좌변 식
좌변값은 할당(assignment)의 대상입니다.
- 속성 접근자
- member 연산자는 객체의 속성(property) 또는 메서드에 액세스를 제공합니다
(object.property
및object["property"]
). new
new
연산자는 생성자의 인스턴스를 만듭니다.- new.target
- 생성자에서,
new.target
은new
에 의해 호출된 생성자를 말합니다. super
super
키워드는 부모 생성자를 호출합니다....obj
- 전개(spread) 연산자는 식이 여러 인수(함수 호출 용) 또는 여러 요소(배열 리터럴 용)가 예상되는 곳에 확장될 수 있도록 합니다.
증가 및 감소
접미(postfix)/접두(prefix) 증가 및 접미/접두 감소 연산자.
단항 연산자
단항(unary) 연산은 피연산자가 하나뿐인 연산입니다.
delete
delete
연산자는 객체에서 속성을 지웁니다.void
void
연산자는 식의 반환값을 버립니다.typeof
typeof
연산자는 주어진 객체의 형을 결정합니다.+
- 단항 더하기 연산자는 그 피연산자를 숫자형으로 변환합니다.
-
- 단항 부정(negation) 연산자는 그 피연산자를 숫자형으로 변환한 뒤 부정합니다.
~
- 비트 NOT 연산자.
!
- 논리 NOT 연산자.
산술 연산자
산술 연산자는 피연산자로 숫자 값(리터럴 또는 변수 중 하나)을 취하고 숫자 값 하나를 반환합니다.
-
**
- 지수 연산자.
관계 연산자
비교(comparison) 연산자는 피연산자를 비교하여 비교가 참인지 여부에 따라 Boolean
값을 반환합니다.
in
in
연산자는 객체가 주어진 속성이 있는지를 결정합니다.instanceof
instanceof
연산자는 객체가 다른 객체의 인스턴스인지를 결정합니다.<
- 작음 연산자.
>
- 큼 연산자.
<=
- 작거나 같음 연산자.
>=
- 크거나 같음 연산자.
주의: => 는 연산자가 아닙니다, 하지만 화살표 함수를 위한 표기법입니다.
같음 연산자
같음(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)
- 생성기 내포.
함수
이 장은 응용 프로그램을 개발하기 위해 JavaScript 함수로 작업하는 법을 문서화합니다.