TypeScript 表达式解释

TypeScript expression interpretation

我想了解此表达式的含义以及何时有用

((identifier:string) => myFunction(identifier))('Hi')

我的函数

const myFunction = (str:string) => { console.log(str) }

控制台输出:

Hi
  1. (identifier:string) => myFunction(identifier) 是一个函数,接受 identifier 类型的字符串,并将应用 myFunction 的结果返回给它。
  2. fun('Hi') 是使用 'Hi' 参数调用函数 fun
  3. 来自 2.
  4. fun1.
  5. 示例中就地声明

也就是说,和

一样
const myFunction = (str:string) => { console.log(str) }
const myFunction2 = (identifier:string) => myFunction(identifier)
myFunction2('Hi') //⇒ Hi

((identifier:string) => myFunction(identifier))('Hi')

这里你有一个自调用匿名函数,它接受 1 个参数标识符,它在最后传递。 Hi 在这种情况下。 所以自调用匿名函数的语法是这样的: (() => {})() 其中外部 () 只是包装匿名函数。 () => {} 是匿名箭头函数,最后 () 调用可以传递参数的函数。

当您有一些顶级函数在加载和评估脚本时必须 运行 时,它会很有用。当然,同样可以通过命名函数来实现。另外,如果你不小心这样做,我相信你可能会减慢初始页面加载速度。否则你可以把这种代码放在任何地方,但我不建议这样做,因为它会影响可读性。因此,要么将匿名函数分配给变量,要么创建一个命名函数并调用它。