2 一致性

ECMAScript 的一致实现必须提供并支持本规范中描述的所有类型、值、对象、属性、函数以及程序语法和语义。

ECMAScript 的一致实现必须按照最新版 Unicode 标准和 ISO/IEC 10646 解释源文本输入。

ECMAScript 的一致实现若提供应用程序编程接口(API),以支持需要适应不同人类语言和国家所使用的语言与文化惯例的程序,则必须实现与本规范兼容的最新版本 ECMA-402 所定义的接口。

ECMAScript 的一致实现可以提供本规范中描述之外的额外类型、值、对象、属性和函数。尤其是,ECMAScript 的一致实现可以为本规范中描述的对象提供本规范中未描述的属性,以及这些属性的值。

ECMAScript 的一致实现可以支持本规范中未描述的程序和正则表达式语法。尤其是,ECMAScript 的一致实现可以支持使用本规范子条款 12.7.2 中注明的任何“未来保留字”的程序语法。

ECMAScript 的一致实现不得实现本规范子条款 17.1 中列为禁止扩展的任何扩展。

ECMAScript 的一致实现不得重新定义任何并非实现定义、实现近似或宿主定义的设施。

ECMAScript 的一致实现可以选择实现或不实现 Normative Optional 子条款,除非另有说明。Web 浏览器通常被要求实现所有规范可选子条款。(参见附录 B。)如果实现了任何 Normative Optional 行为,则必须实现包含该行为的 Normative Optional 条款中的所有行为。Normative Optional 条款在本规范中用彩色框内的文字“Normative Optional”表示,如下所示。

2.1 示例 Normative Optional 条款标题

示例条款内容。

ECMAScript 的一致实现必须实现 Legacy 子条款,除非它们也被标记为 Normative Optional。Legacy 子条款中规定的所有语言特性和行为都具有一个或多个不良特征。然而,它们在现有应用中的持续使用阻止了它们从本规范中移除。这些特性不被视为 ECMAScript 语言核心的一部分。程序员在编写新的 ECMAScript 代码时,不应使用或假定这些特性和行为的存在。

2.2 示例 Legacy 条款标题

示例条款内容。

2.3 示例 Legacy Normative Optional 条款标题

示例条款内容。