亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么人家這么寫js?

為什么人家這么寫js?

qq_遁去的一_1 2023-03-03 09:50:19
 var type = (0, _reactIs.isMemo)(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type;(0, _reactIs.isMemo)真讓我困惑。這個東西的意思是什么?ps:我知道(0, _reactIs.isMemo)這個表達式的值是_reactIs.isMemo
查看完整描述

1 回答

?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

那里的逗號運算符確保括號內的內容被評估為沒有調用上下文的表達式。

舉一個更短的例子,如果代碼是:

var type = obj.fn(someArg);

然后fn將使用 的調用上下文調用obj。但是原始的未轉譯代碼,無論它是什么,都沒有這樣的調用上下文,因此為了忠實于原始代碼,必須刪除調用上下文,這可以通過逗號運算符來完成:

var type = (0, obj.fn)(someArg);

做同樣事情的另一種方法是:

var fn = obj.fn;var type = fn(someArg);

(但這需要更多字符,所以縮小器更喜歡逗號運算符版本)

這是一個看起來很傻的縮小技巧,經常在導入的模塊中看到。通常,您只會查看代碼,不會有這種傻事。


查看完整回答
反對 回復 2023-03-03
  • 1 回答
  • 0 關注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號