簡體   English   中英

實現單例時我應該使用 let 還是 var ?

[英]Should I use let or var when implementing a singleton?

我理解兩者之間的區別( let鎖定塊內的引用,而var聲明一個可在范圍內訪問的變量)。

但考慮到基於單例模式的模塊:

var singleton = null;

module.exports = () => singleton ? singleton : singleton = newInstance();

我應該用let還是var聲明單例變量? 考慮到 CommonJS 模塊的導入/導出,有什么區別嗎?

當我們談論單例實現時,let 或 var 之間沒有區別。 我已經在我的 IDE 中檢查過它。 考慮到使用“let”是更好的做法,我建議您完全使用“let”關鍵字。

您已經考慮使用const來代替?

我一直使用 const 並且從來沒有遇到過問題,因為你永遠不會重新評估整個對象。

如果要在“var”或“let”之間進行選擇,最好的選擇是“let”,因為“let”的區別之一是通過變量提升消除了容易出錯的行為,您可以閱讀以下規范: https:// developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let 但是你應該考慮只使用 const 作為你的默認變量,因為那里的大多數錯誤都涉及意外的狀態變化,你可以用來保證變量值和狀態的一切都應該用來避免這種最常見的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM