我想了解该表达式的含义以及何时有用
((identifier:string) => myFunction(identifier))('Hi')
myFunction
const myFunction = (str:string) => { console.log(str) }
控制台输出:
Hi
答案 0 :(得分:0)
(identifier:string) => myFunction(identifier)
是一个函数,它接受字符串类型的identifier
,并将应用程序myFunction
的结果返回给它。fun('Hi')
是带有fun
参数的函数'Hi'
的调用。fun
。也就是说,它与
相同const myFunction = (str:string) => { console.log(str) }
const myFunction2 = (identifier:string) => myFunction(identifier)
myFunction2('Hi') //⇒ Hi
答案 1 :(得分:0)
((identifier:string) => myFunction(identifier))('Hi')
这里有一个自调用匿名函数,该函数接受1个参数标识符,该标识符在最后传递。 Hi
在这种情况下。
因此,自调用匿名函数语法如下所示:
(() => {})()
,其中外部()
仅包装匿名函数。 () => {}
是匿名箭头功能,最后()
调用该函数,您可以在其中传递参数。
当您有一些在加载和评估脚本时必须运行的顶级功能时,此功能很有用。当然,使用命名函数可以实现相同的目的。另外,如果您不加小心地执行此操作,则可能会减慢初始页面的加载速度。否则,您可以在任何地方放置这种代码,但我不建议这样做,因为它会影响可读性。因此,要么将匿名函数分配给变量,要么创建一个命名函数并调用它。