2 적합성

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

ECMAScript의 적합한 구현은 최신 버전의 Unicode 표준 및 ISO/IEC 10646에 부합하도록 소스 텍스트 입력을 해석해야 한다.

서로 다른 인간 언어와 국가에서 사용되는 언어적·문화적 관례에 프로그램이 적응할 필요를 지원하는 애플리케이션 프로그래밍 인터페이스(API)를 제공하는 ECMAScript의 적합한 구현은, 이 명세서와 호환되는 최신판 ECMA-402에서 정의한 인터페이스를 구현해야 한다.

ECMAScript의 적합한 구현은 이 명세서에 설명된 것 외의 추가적인 타입, 값, 객체, 프로퍼티 및 함수를 제공할 수 있다. 특히 ECMAScript의 적합한 구현은 이 명세서에 설명된 객체에 대해, 이 명세서에 설명되지 않은 프로퍼티와 그 프로퍼티들의 값을 제공할 수 있다.

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

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

ECMAScript의 적합한 구현은 구현 정의, 구현 근사, 또는 호스트 정의가 아닌 어떤 기능도 재정의해서는 안 된다.

ECMAScript의 적합한 구현은, 달리 명시되지 않는 한, 규범적 선택사항(Normative Optional) 하위 절을 구현할지 여부를 선택할 수 있다. 웹 브라우저는 일반적으로 모든 규범적 선택사항 하위 절을 구현해야 한다. (부속서 B 참조.) 어떤 규범적 선택사항 동작이라도 구현된다면, 해당 규범적 선택사항 절에 포함된 모든 동작을 구현해야 한다. 규범적 선택사항 절은 아래와 같이 이 명세서에서 색상 상자 안의 "Normative Optional"이라는 단어로 표시된다.

Normative Optional

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

절 내용 예시.

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

Legacy

2.2 레거시 절 제목 예시

절 내용 예시.

Normative Optional, Legacy

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

절 내용 예시.