javascript - 为什么 UglifyJS 将 `someFunction` 转换为 `(0, v.someFunction)` ?

标签 javascript minify uglifyjs uglifyjs2

我正在使用 UglifyJS 转译 React Web 应用程序,我注意到它似乎包装了很多函数调用,特别是从另一个模块/文件导入的函数,带有 (0,) 。这有什么意义?

示例:它会转换此内容

var longVariableName = someFunction(some, arguments)

到此

var t = (0, v.someFunction)(some, arguments)

最佳答案

它确保 someFunction 中的 this 上下文是 未定义,就像原始调用中一样,而不是 v ,就像在方法调用 v.someFunction(some, argument) 中一样。

关于javascript - 为什么 UglifyJS 将 `someFunction` 转换为 `(0, v.someFunction)` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39530555/

相关文章:

php - 更新后自动缩小 Javascript/CSS 文件?

optimization - uglifyjs drop_console/pure_funcs 在 webpack 中不起作用

requirejs - 使用 r.js 进行 Uglify 会引发解析错误

JavaScript 使用正则表达式在长字符串中查找单词 "19XX"或 "18XX"

javascript - 将 if/else 放在另一个 else 中是不好的做法吗?

javascript - Webpack [url/file-loader] 没有解析 URL 的相对路径

jquery - 如何减少包含略有不同逻辑的函数的数量?

javascript - 缩小js时 bool 切换的原因

node.js - Nodejs + 连接 Assets 管理器 + uglifyJs

javascript - 从单一表单发布到两种不同的方法