?
u
m
/
p
1-9
0
`
이 부록에 정의된 ECMAScript 언어 구문과 의미는 ECMAScript
이 부록에 정의된 일부 기능은 이 부록에서, 또 일부는 본문에서 정의된다.
기능이 본문에서 정의되는 경우, 문서에 영향을 미치는 각 지점은 색상 박스 안의 "Normative Optional" 문구로 표시된다. 또한 어떤 기능이 알고리즘이나 초기 에러 규칙의 특정 문구를 수반할 때는 그것이 관련 기능에 대해 “the host supports”하는 조건으로 보호된다. 웹 브라우저는 그러한 모든 기능을 지원해야 한다.
이 부록은 다양한 레거시 기능과 웹 브라우저 ECMAScript
이 기능들은 핵심 ECMAScript 언어의 일부로 간주되지 않는다. 프로그래머는 새로운 ECMAScript 코드를 작성할 때 이러한 기능과 동작의 존재를 사용하거나 가정해서는 안 된다. ECMAScript 구현은 구현이 웹 브라우저의 일부이거나 웹 브라우저가 마주치는 동일한 레거시 ECMAScript 코드를 실행해야 하는 경우가 아니면 이러한 기능을 구현하지 않는 것이 권장된다.
줄 종결자 코드 포인트를 포함하는
이 대안 패턴 문법과 의미는 BMP 패턴의 구문과 의미만 변경한다. 다음 문법 확장은 [UnicodeMode] 매개변수를 가진 생성식을 포함한다. 그러나 이러한 확장 중 어느 것도 목표 심볼에 [UnicodeMode] 매개변수가 존재할 때 인식되는 유니코드 패턴의 구문을 변경하지 않는다.
동일한 좌변이 [+UnicodeMode] 와 [~UnicodeMode] 가드를 모두 가지는 경우 이는 모호성 해소 우선순위를 제어하기 위한 것이다.
또한 다음 생성식의 규칙은 강조된 텍스트를 추가하여 수정된다:
CountLeftCapturingParensWithin 및 CountLeftCapturingParensBefore 정의에서 “
CompileSubpattern 의 의미는 다음과 같이 확장된다:
\
U+005C (REVERSE SOLIDUS)를 포함하는 다음 두 규칙은 CompileToCharSet 의 해당 규칙을 대체한다.
추가로 다음 규칙이 CompileToCharSet 에 추가된다.
\
U+005C (REVERSE SOLIDUS)를 포함하는 \c
시퀀스로부터만 도달될 수 있다.The abstract operation CharacterRangeOrUnion takes arguments rer (a
추상 연산 ParsePattern 은 인수 patternText(유니코드 코드 포인트 시퀀스), u(Boolean), v(Boolean)을 받고 호출 시 다음 단계를 수행한다:
ECMAScript
Intrinsic Name | Global Name | ECMAScript Language Association |
---|---|---|
|
escape
|
escape 함수 ( |
|
unescape
|
unescape 함수 ( |
이 함수는
숫자 값이 0x00FF 이하인 코드 유닛을 교체할 때는 %xx
형태의 2자리 이스케이프 시퀀스를 사용한다. 숫자 값이 0x00FF 를 초과하는 코드 유닛을 교체할 때는 %uxxxx
형태의 4자리 이스케이프 시퀀스를 사용한다.
이것은 %escape% 내재 객체이다.
호출 시 다음 단계를 수행한다:
이 인코딩은 부분적으로 RFC 1738 의 인코딩을 기반으로 하지만, 이 표준에 명시된 전체 인코딩은 RFC 1738 의 내용과 무관하게 위에서 설명된다. 이 인코딩은 RFC 3986 이 RFC 1738 에 적용한 변경 사항을 반영하지 않는다.
이 함수는 escape
함수가 도입했을 수 있는 형태의 각 이스케이프 시퀀스를 그것이 표현하는 코드 유닛으로 교체한 새로운 String 값을 계산한다.
이것은 %unescape% 내재 객체이다.
호출 시 다음 단계를 수행한다:
이 메서드는
호출 시 다음 단계를 수행한다:
이 메서드는 의도적으로 제네릭하다;
이 메서드는 호출 시 다음 단계를 수행한다:
The abstract operation CreateHTML takes arguments string (an ECMAScript language value), tag (a String), attribute (a String), and value (an ECMAScript language value) and returns either a
이 메서드는 호출 시 다음 단계를 수행한다:
이 메서드는 호출 시 다음 단계를 수행한다:
이 메서드는 호출 시 다음 단계를 수행한다:
이 메서드는 호출 시 다음 단계를 수행한다:
이 메서드는 호출 시 다음 단계를 수행한다:
이 메서드는 호출 시 다음 단계를 수행한다:
이 메서드는 호출 시 다음 단계를 수행한다:
이 메서드는 호출 시 다음 단계를 수행한다:
이 메서드는 호출 시 다음 단계를 수행한다:
이 메서드는 호출 시 다음 단계를 수행한다:
이 메서드는 호출 시 다음 단계를 수행한다:
이 메서드는 호출 시 다음 단계를 수행한다:
getFullYear
메서드가 “year 2000 문제”를 피하기 때문에 거의 모든 용도에 더 권장된다.
이 메서드는 호출 시 다음 단계를 수행한다:
setFullYear
메서드가 “year 2000 문제”를 피하기 때문에 거의 모든 용도에 더 권장된다.
이 메서드는 호출 시 다음 단계를 수행한다:
toUTCString
메서드가 더 선호된다. 이 메서드는 주로 오래된 코드와의 호환성을 위해 제공된다.
이 메서드는 호출 시 다음 단계를 수행한다:
이 메서드는
ECMAScript 2015 이전에는
ECMAScript 2015 이전에는
함수가 선언되고 단일 블록 내에서만 참조된다.
var
선언이 아닌 다른 f 선언이 존재하지 않는다.
함수가 단일
var
선언이 아닌 다른 f 선언이 존재하지 않는다.
함수가 단일 블록에서 선언 및 사용될 수 있지만 후속 블록에서 참조된다.
var
선언이 아닌 다른 f 선언이 존재하지 않는다.
첫 번째 사용 사례는 ECMAScript 2015 가 제공하는
두 번째 및 세 번째 사용 사례에 대한 ECMAScript 2015 상호 운용성은
ECMAScript 구현에 진단 경고 메시지를 보고하는 메커니즘이 있는 경우, 이러한 호환 의미가 적용되어 비호환 의미와 관찰 가능한 차이를 만드는
이 기능은 다음 지점에서 특별한 의미를 포함한다:
다음은
이 생성식은 비엄격 코드를 파싱할 때만 적용된다. 이 생성식과 일치하는 소스 텍스트는 각
이 기능에서는 var
선언을 포함할 수 있다. 이는
런타임에는 이러한 바인딩이 VariableDeclarationEnvironment 에서 인스턴스화된다. 이들은 var
선언의 var
바인딩이 아니라 대응 catch 매개변수에 할당한다.
이 수정된 동작은 var
및 function
선언에도 적용된다. 이 변경은
다음은
이 생성식은 비엄격 코드를 파싱할 때만 적용된다.
[[IsHTMLDDA]] 내부 슬롯 은 typeof
연산자
[[IsHTMLDDA]] 내부 슬롯을 가진 객체는 이 명세에서 생성되지 않는다. 그러나 웹 브라우저의 document.all
객체 는 웹 호환성 목적을 위해 이 슬롯을 가진 document.all
을 제외하고 새로 만들지 않아야 한다.
이 기능은 다음 지점에서 특별한 의미를 포함한다:
typeof
평가 의미의 함수 호출(
대입 대상이 =
또는 ??=
, &&=
, ||=
)에는 이 허용이 적용되지 않는다.