为了账号安全,请及时绑定邮箱和手机立即绑定

萌新!js中为什么Symbol可以函数调用却不能当构造器?

萌新!js中为什么Symbol可以函数调用却不能当构造器?

三国纷争 2019-08-21 12:28:22
我知道可以Symbol(),不能newSymbol(),但这是怎么实现的呢?或者说我能否写出这么一个函数:只能简单的函数调用,不能带new,一但加了new就报错
查看完整描述

2 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

内部怎么实现的不好说。用纯js也可以实现:
functionFoo(){
if(this!==window){//如果是node就把window换成global
thrownewError("newisnotpermitted.");
}
...
}
newFoo();//报错
                            
查看完整回答
反对 回复 2019-08-21
?
倚天杖

TA贡献1828条经验 获得超3个赞

functionFoo(){
if(thisinstanceofFoo){
thrownewError("newisnotpermitted.");
}
}
newFoo();
                            
查看完整回答
反对 回复 2019-08-21
  • 2 回答
  • 0 关注
  • 423 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号