javascript - 我们可以省略 JavaScript IIFE 的主要括号吗?

标签 javascript function anonymous-function

<分区>

省略 JavaScript IIFE 的主括号 (...) 并仅在末尾使用 (); 是否有任何错误(或不良做法)函数表达式何时赋值给变量?

let foo = function() {
  return 'Hello'
}();

// so we use 'foo', not 'foo()'
console.log(foo); // 'Hello'

虽然 TypeScript 在没有警告的情况下接受它,但我们是否应该始终这样做?

let foo = (function() {
  return 'Hello'
})();

最佳答案

您应该始终将立即调用的函数括在括号中。它更清楚地表明它是一个 IIFE,省略括号会导致语法错误。它不会总是,但这两个 Angular 色真的值得模棱两可吗?

如果你不包装你的函数,那么我,作为 future 检查你的代码的另一个开发人员,必须知道滚动到你的函数的底部,然后我才能知道它被调用而不是函数定义.

关于javascript - 我们可以省略 JavaScript IIFE 的主要括号吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51678761/

相关文章:

C++ - 使用递归函数创建金字塔时出错

javascript - Yelp 和 Urbandictionary 等网站如何防止未登录用户的双重投票?

c++ - 消除对采用 std::functions 的函数的调用的歧义

c++ - C++ 内联函数的定义必须在同一个文件中吗?

php - 如何在 php 的闭包中使用 $this

recursion - OCaml 中的匿名递归函数

javascript - 如何在 JavaScript 中处理 'undefined'

javascript - 如何在编译为WebAssembly的Rust库中使用C库?

javascript - 限制可以选中的复选框的数量

javascript - JavaScript 中的类变量和 setInterval