Javascript Js:为变量指定箭头函数名
我有一个箭头功能:Javascript Js:为变量指定箭头函数名,javascript,ecmascript-6,factory,arrow-functions,Javascript,Ecmascript 6,Factory,Arrow Functions,我有一个箭头功能: ()=>“a” 我可以用我的一个变量来命名这个函数吗 让func_name='a'; //预期产量 //设a=()=>'a'; 这是可能的。由于除了基元类型之外的所有内容都是JavaScript中的对象,因此您可以执行以下操作: 不太正确的方法会污染全局或当前命名空间: 函数func(){ //func是一个对象,请参见MDN上的函数 设func_name='a'; 此[func_name]=()=>func_name; //叫它 console.log( 此[func_
()=>“a”
我可以用我的一个变量来命名这个函数吗
让func_name='a';
//预期产量
//设a=()=>'a';
这是可能的。由于除了基元类型之外的所有内容都是JavaScript中的对象,因此您可以执行以下操作:
不太正确的方法会污染全局或当前命名空间:
函数func(){
//func是一个对象,请参见MDN上的函数
设func_name='a';
此[func_name]=()=>func_name;
//叫它
console.log(
此[func_name]()
);
}
func()你的意思是让a=()=>a.name代码>?名称()=>'a'
到a
,我可以调用a()
;你的意思是让a=()=>'a'然后可以像a()
那样调用它?听起来像。你到底想做什么?看起来像的副本。我建议不要在中添加随机值。在当前代码中,这个
将成为窗口
,因此实际上您正在使所有这些都成为全局的。这使得很有可能发生冲突。更糟糕的是,如果启用了严格模式,此代码将失败,因为this
将被设置为undefined
,因此您在尝试设置属性时会出错。@VLAZ,这就是我推荐另一个实现的原因;像obj={[func_name]:()=>func_name}
@AdamAzad但是如果你不推荐,为什么还要使用this
?