2 적합성

ECMAScript의 적합한 구현은 이 명세서에 기술된 모든 타입, 값, 객체, 프로퍼티, 함수, 프로그램 문법과 의미를 제공하고 지원해야 합니다.

ECMAScript의 적합한 구현은 최신 버전의 유니코드 표준과 ISO/IEC 10646에 따라 소스 텍스트 입력을 해석해야 합니다.

여러 인간 언어와 국가에서 사용되는 언어적, 문화적 관습에 적응해야 하는 프로그램을 지원하는 응용 프로그램 프로그래밍 인터페이스(API)를 제공하는 ECMAScript의 적합한 구현은, 이 명세서와 호환되는 가장 최근 판의 ECMA-402에서 정의된 인터페이스를 구현해야 합니다.

ECMAScript의 적합한 구현은 이 명세서에 기술된 것 외에도 추가적인 타입, 값, 객체, 프로퍼티, 함수 등을 제공할 수 있습니다. 특히, 이 명세서에 기술된 객체에 대해 명세서에 기술되지 않은 프로퍼티와 해당 프로퍼티의 값을 제공할 수 있습니다.

ECMAScript의 적합한 구현은 이 명세서에 기술되지 않은 프로그램 및 정규 표현식 문법을 지원할 수 있습니다. 특히, 이 명세서의 12.7.2 하위절에 언급된 “future reserved words”를 사용하는 프로그램 문법을 지원할 수 있습니다.

ECMAScript의 적합한 구현은 17.1 하위절에 금지 확장(Forbidden Extension)으로 명시된 어떤 확장도 구현해서는 안 됩니다.

ECMAScript의 적합한 구현은 구현 정의(implementation-defined), 구현 근사(implementation-approximated), 또는 호스트 정의(host-defined)가 아닌 어떠한 기능도 재정의해서는 안 됩니다.

ECMAScript의 적합한 구현은, 별도의 지시가 없는 한 정규적 선택 사항(Normative Optional) 하위절을 구현하거나 구현하지 않을 수 있습니다. 웹 브라우저는 일반적으로 모든 정규적 선택 사항 하위절을 구현해야 합니다. (부록 B 참조.) 만약 어떤 정규적 선택 사항 동작이 구현된다면, 해당 정규적 선택 사항 절에 포함된 모든 동작이 구현되어야 합니다. 정규적 선택 사항 절은 본 명세서에서 아래와 같이 색상 상자에 "Normative Optional"이라는 문구로 표시됩니다.

Normative Optional

2.1 정규적 선택 사항 예시 절 제목

예시 절 내용.

ECMAScript의 적합한 구현은 정규적 선택 사항으로도 표시되지 않는 한 레거시(Legacy) 하위절을 구현해야 합니다. 레거시 하위절에 명시된 모든 언어 기능과 동작은 하나 이상의 바람직하지 않은 특성을 가지고 있습니다. 하지만 기존 애플리케이션에서 계속 사용되고 있기 때문에 이 명세서에서 제거할 수 없습니다. 이러한 기능은 ECMAScript 핵심 언어의 일부로 간주되지 않습니다. 프로그래머는 새로운 ECMAScript 코드를 작성할 때 이러한 기능과 동작을 사용하거나 존재를 가정해서는 안 됩니다.

Legacy

2.2 레거시 예시 절 제목

예시 절 내용.

Normative Optional, Legacy

2.3 레거시 정규적 선택 사항 예시 절 제목

예시 절 내용.