TypeScript表达式解释

时间:2020-01-27 16:24:24

标签: javascript typescript polymer

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

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

myFunction

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

控制台输出:

Hi

2 个答案:

答案 0 :(得分:0)

  1. (identifier:string) => myFunction(identifier)是一个函数,它接受字符串类型的identifier,并将应用程序myFunction的结果返回给它。
  2. fun('Hi')是带有fun参数的函数'Hi'的调用。
  3. 2中的
  4. fun在示例 1中被原地声明。

也就是说,它与

相同
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在这种情况下。 因此,自调用匿名函数语法如下所示: (() => {})(),其中外部()仅包装匿名函数。 () => {}是匿名箭头功能,最后()调用该函数,您可以在其中传递参数。

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

相关问题