我正在阅读ECMAScript 5.1 Specification,但我仍然坚持使用以下句子:
规范类型值是规范工件,不一定与ECMAScript实现中的任何特定实体相对应。
如果它们不一定与任何特定实体相对应,它们对应的是什么?我的意思是规范类型值属于规范类型值的集合(显然),那么该句子想要说什么?
答案 0 :(得分:3)
ECMAScript规范描述了语言在符合环境中执行的脚本的行为方式。它没有描述应该如何实现该环境,只是在给定一组输入的情况下如何在其中运行的脚本工作。
该句的第一部分对于上下文非常重要:
规范类型对应于在算法中用于描述ECMAScript语言构造和ECMAScript语言类型的语义的元值。规范类型包括参考,列表,完成,属性描述符,属性标识符,词汇环境和环境记录。
所以"规范类型"在你发布的报价中:
规范类型值是规范工件,不一定与ECMAScript实现中的任何特定实体相对应。
是其中一种类型,例如"参考"或"属性标识符"。
这是想要实现的一点是,您的实现可以自由地实现这些概念,但它很高兴。不要求您的实现具有代表"参考"类型,或代表"完成"或任何其他人。只要从运行在您的实现上的脚本的角度来看,事情看起来是正确的,您可以自由地实现该语言。