new.target的用处
含义
new.target用于判断函数是否通过new调用, 如果是,则new.target等于函数本身,否则等于undefined
用处
用处一
限制函数只能通过new调用
function f(){
if(new.target == undefined) throw "错误的调用";
//....
}
用处二
限制类只能用于继承,不能实例化
class clazz{
constructor(){
if(new.target == clazz) throw "不能用于实例化";
//.................
}
}