1. 什么是new.target?
new.target
允许你检测函数或构造方法是否是通过new
运算符调用的,若函数或构造方法是由new
调用的,则new.target
属性的值指向该函数或构造函数,否则值为undefined
。
2. 示例
- 普通的函数调用中,
new.target
的值为undefined
,使用new
运算符调用的函数其值为函数本身,这可以用来判断一个函数是否是使用new
调用的
function Person() {
this.name = 'Mike'
console.log(new.target)
}
Person()