2 적합성

ECMAScript의 conforming implementation은 이 명세에 설명된 모든 타입, 값, 객체, 속성, 함수, 그리고 프로그램 구문과 의미를 제공하고 지원해야 합니다.

ECMAScript의 conforming implementation은 최신 버전의 Unicode Standard 및 ISO/IEC 10646에 부합하게 source text input을 해석해야 합니다.

서로 다른 인간 언어와 국가에서 사용되는 언어적·문화적 관례에 적응해야 하는 프로그램을 지원하는 application programming interface(API)를 제공하는 ECMAScript의 conforming implementation은 이 명세와 호환되는 ECMA-402의 가장 최근 판에서 정의한 interface를 구현해야 합니다.

ECMAScript의 conforming implementation은 이 명세에 설명된 것 외에 추가 타입, 값, 객체, 속성 및 함수를 제공할 수 있습니다. 특히, ECMAScript의 conforming implementation은 이 명세에 설명된 객체에 대해 이 명세에 설명되지 않은 속성과 그 속성의 값을 제공할 수 있습니다.

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

ECMAScript의 conforming implementation은 하위 절 17.1에서 Forbidden Extension으로 열거된 어떤 확장도 구현해서는 안 됩니다.

ECMAScript의 conforming implementation은 implementation-defined, implementation-approximated, 또는 host-defined가 아닌 어떤 기능도 재정의해서는 안 됩니다.

ECMAScript의 conforming implementation은 달리 명시되지 않는 한 Normative Optional 하위 절을 구현할지 여부를 선택할 수 있습니다. 웹 브라우저는 일반적으로 모든 normative optional 하위 절을 구현해야 합니다. (Annex B 참조.) 어떤 Normative Optional 동작이 구현되면, 이를 포함하는 Normative Optional clause의 모든 동작이 구현되어야 합니다. Normative Optional clause는 아래에 표시된 것처럼 이 명세에서 색이 있는 상자 안의 “Normative Optional”이라는 단어로 표시됩니다.

2.1 예시 Normative Optional 절 제목

예시 절 내용.

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

2.2 예시 Legacy 절 제목

예시 절 내용.

2.3 예시 Legacy Normative Optional 절 제목

예시 절 내용.