6.1.5.1 熟悉的 Symbols

大家熟悉的的 symbols 是内置的 Symbol 值,由本规范的算法明确引用。 它们通常用作属性的键,其值用作规范算法的扩展。 除非另有规定,熟悉的 symbols 值由所有领域共享(8.2)。

在本规范中,众所周知的符号通过使用形式为 @@ name 的符号来引用,其中“name”是表1中列出的值之一。

表1:熟悉的 Symbols

规范名称(Specification Name) 描述符([[Description]]) 值和用途(Value and Purpose)
@@hasInstance "Symbol.hasInstance" 该方法是确定构造函数对象是否将对象识别为构造函数的实例之一。 由 instanceof 运算符的语义调用。
@@isConcatSpreadable "Symbol.isConcatSpreadable" 一个 Boolean 属性,如果为true,则表示对象使用 Array.prototype.concat 方法是否将对象平铺(flattened)到其数组元素上。
@@iterator "Symbol.iterator" 该方法返回该对象的默认迭代器。由 for-of 语句调用。
@@match "Symbol.match" 将正则表达式与字符串匹配的正则表达式方法。 由 String.prototype.match 方法调用。
@@replace "Symbol.replace" 替换字符串的匹配子字符串的正则表达式方法。 由 String.prototype.replace 方法调用。
@@search "Symbol.search" 正则表达式方法,返回与正则表达式匹配的字符串中的索引。 由 String.prototype.search 方法调用。
@@species "Symbol.species" 函数值属性,它是用于创建派生(derived)对象的构造函数。
@@split "Symbol.split" 正则表达式方法,用于在匹配正则表达式的索引处拆分字符串。 由 String.prototype.split 方法调用。
@@toPrimitive "Symbol.toPrimitive" 将对象转换为对应原始值的方法。 由 ToPrimitive 抽象操作调用。
@@toStringTag "Symbol.toStringTag" 一个 String 值属性,用于创建对象的默认字符串描述。 通过内置方法 Object.prototype.toString 访问。
@@unscopables "Symbol.unscopables" 对象值属性,用于指定一个对象值,其自身和继承的属性名称将从关联对象的环境绑定中排除。

results matching ""

    No results matching ""