2 一致性

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

符合规范的 ECMAScript 实现必须按照最新版 Unicode 标准和 ISO/IEC 10646 的要求解释源文本输入。

符合规范的 ECMAScript 实现如果提供支持不同语言和国家的语言习惯和文化规范的应用程序编程接口(API),则必须实现与本规范兼容的最新版 ECMA-402 所定义的接口。

符合规范的 ECMAScript 实现可以提供本规范未描述的其他类型、值、对象、属性和函数。特别地,符合规范的 ECMAScript 实现可以为本规范所描述的对象提供未在本规范中描述的属性,以及这些属性的值。

符合规范的 ECMAScript 实现可以支持本规范未描述的程序和正则表达式语法。特别地,符合规范的 ECMAScript 实现可以支持使用本规范 12.7.2 分条中所述任何“未来保留字”的程序语法。

符合规范的 ECMAScript 实现不得实现本规范 17.1 分条中列为禁止扩展的任何扩展。

符合规范的 ECMAScript 实现不得重新定义任何非实现自定义、非近似实现或非宿主自定义的机制。

符合规范的 ECMAScript 实现可以选择实现或不实现 规范性可选 子条款,除非另有说明。通常情况下,网页浏览器要求实现所有规范性可选子条款。(参见附录 B。)如果实现了任何规范性可选行为,则必须实现包含该行为的所有规范性可选条款。规范性可选条款在本规范中以彩色框显示“规范性可选”字样,如下所示。

Normative Optional

2.1 规范性可选条款标题示例

条款内容示例。

符合规范的 ECMAScript 实现必须实现 遗留 子条款,除非它们也被标记为规范性可选。遗留子条款中指定的所有语言特性和行为都具有一个或多个不理想的特性,但由于现有应用仍在使用,无法从规范中移除这些特性。这些特性不属于 ECMAScript 语言核心。编程人员在编写新的 ECMAScript 代码时不应使用或假定这些特性和行为的存在。

Legacy

2.2 遗留条款标题示例

条款内容示例。

Normative Optional, Legacy

2.3 遗留规范性可选条款标题示例

条款内容示例。