new.target的用处

new.target的用处

含义

new.target用于判断函数是否通过new调用, 如果是,则new.target等于函数本身,否则等于undefined

用处

用处一

限制函数只能通过new调用

function f(){
	if(new.target == undefined) throw "错误的调用";
	//....
}

用处二

限制类只能用于继承,不能实例化

class clazz{
	constructor(){
		if(new.target == clazz) throw "不能用于实例化";
		//.................
	}
}
上一篇:面试官:你能谈谈Dubbo SPI扩展原理吗?


下一篇:一个类手写Spring核心原理