理解“new.target”
ECMAScript 2015 规范引入了一个称为“new.target”的元属性,该属性在非箭头函数来确定该函数是否作为构造函数调用。
定义和目的
“new.target”指的是第一个元属性,形式上是规范第 12.3.8 节中定义。它的唯一目的是检索函数的“[[NewTarget]]”内部值的当前值。该值在函数调用时设置,类似于“this”绑定。
根据§8.1.1.3函数环境记录,“[[NewTarget]]”值设置为“[[ Construct]]" newTarget 参数(如果该函数作为构造函数调用)。否则,它的值保持未定义状态。
ES6 类的重要性
“new.target”在 ES6 类的实现中起着至关重要的作用,允许它们继承内置对象。当使用“new”调用类构造函数时,“this”值尚未初始化。然而,当调用 super() 方法时,对象被创建并设置为继承自“newTarget”构造函数的“.prototype”。
示例
以下示例演示了如何在类继承中使用“new.target”:
在此示例中:
以上是'new.target”元属性如何促进 ES6 类继承?的详细内容。更多信息请关注PHP中文网其他相关文章!