Javascript 有没有一种方法可以在Arrow函数声明之后调用它?
有时我想给一个变量赋值一个箭头函数的结果,但是如果我把箭头函数赋值给那个变量,它得到的是函数,而不是返回的函数,这是显而易见的Javascript 有没有一种方法可以在Arrow函数声明之后调用它?,javascript,ecmascript-6,arrow-functions,Javascript,Ecmascript 6,Arrow Functions,有时我想给一个变量赋值一个箭头函数的结果,但是如果我把箭头函数赋值给那个变量,它得到的是函数,而不是返回的函数,这是显而易见的 let theNumber2 = ()=>{return 2}; number2将包含该函数,并且仅当我执行number2()时,才会返回2 有没有一种方法可以直接返回arrow函数?例如: let theNumber2 = ()=>{return 2}(); // Note the () at the final 有什么东西可以做到这一点吗?我的意思是
let theNumber2 = ()=>{return 2};
number2
将包含该函数,并且仅当我执行number2()
时,才会返回2
有没有一种方法可以直接返回arrow函数?例如:
let theNumber2 = ()=>{return 2}(); // Note the () at the final
有什么东西可以做到这一点吗?我的意思是,分配箭头函数调用 只需用括号括起来并调用函数即可
让编号2=(()=>{return 2;})();
console.log(编号2)代码>旁注:让数字2=(()=>2)()代码>;-)嗯,如果“2”的值在编号2
和控制台日志(编号2)
的声明之间发生变化,它仍将显示2
对吗?@Hammerbot yes它仍将显示2@Hammerbot-设x=2;让数字2=(()=>x)();x=3;console.log(编号2)
仍将显示2
,原因与此仍显示2
的原因相同:让x=2;设y=x;x=3;控制台日志(y)代码>返回的值与该值的来源没有持久的链接。@ManosKounelakis,但您只需要了解()=>2
做了一次什么。如果我们开始避免使用更方便的语法,因为从未遇到过它的人不会花30秒的时间来理解它,那么我们应该停止所有的进步,永远不要在任何东西上添加任何语言特性。因为总会有新手。见鬼,我们都是新手。然而,我们不仅成功地推动了新的发展,而且实际上推动了它们。引入箭头功能速记是因为人们想要它,而且更方便。