Symbol.species
这个符号作为一个属性表示“一个函数值,该函数作为创建派生对象的构造函数”。这个属性在内置类型中最常用,用于对内置类型实例方法的返回值暴露实例化派生对象的方法。用Symbol.species定义静态的获取器(getter)方法,可以覆盖新创建实例的原型定义:
split
该方法在正则匹配表达式的索引位置拆分字符串。
class FooSplitter{
static Symbol.split{
return target.split('foo');
}
}
console.log('barfoobaz'.split(FooSplitter));//调用方法
// ["bar","baz"] 拆分结果
Symbol.toPrimitive
属性上定义一个函数可以改变默认行为。
根据提供给这个函数的参数(string、number或default),可以控制返回的原始值:
注:参考JavaScript高级程序设计第四版