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.name?名称
()=>'a'
a
,我可以调用
a()
;你的意思是
让a=()=>'a'a()
那样调用它?听起来像。你到底想做什么?看起来像的副本。我建议不要在
中添加随机值。在当前代码中,
这个
将成为
窗口
,因此实际上您正在使所有这些都成为全局的。这使得很有可能发生冲突。更糟糕的是,如果启用了严格模式,此代码将失败,因为
this
将被设置为
undefined
,因此您在尝试设置属性时会出错。@VLAZ,这就是我推荐另一个实现的原因;像
obj={[func_name]:()=>func_name}
@AdamAzad但是如果你不推荐,为什么还要使用
this