gpt4 book ai didi

javascript - 为什么人们会这样写js?

转载 作者:行者123 更新时间:2023-12-01 15:51:40 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Why does any JavaScript code want to "cut the binding"?

(1 个回答)



JavaScript syntax (0, fn)(args)

(2 个回答)


1年前关闭。



  var type = (0, _reactIs.isMemo)(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type; 
(0, _reactIs.isMemo)真的让我很困惑。这个东西的意思是什么?
ps:我知道 (0, _reactIs.isMemo)这个表达式的值为 _reactIs.isMemo

最佳答案

那里的逗号运算符确保括号内的内容被评估为没有调用上下文的表达式。
举一个更简短的例子,如果代码是:

var type = obj.fn(someArg); 
然后 fn将使用调用上下文 obj 调用.但是原始的未编译代码,不管它是什么,都没有这样的调用上下文,所以为了忠实于原始代码,必须删除调用上下文,这可以通过逗号操作符来完成:
var type = (0, obj.fn)(someArg);
做同样事情的另一种方法是:
var fn = obj.fn;
var type = fn(someArg);
(但这需要更多字符,所以缩小器更喜欢逗号运算符版本)
这是一个看起来很傻的缩小技巧,在导入的模块中很常见。通常,您只会查看源代码,而不会有这种愚蠢的。

关于javascript - 为什么人们会这样写js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63894355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com