使用匿名函式進行 JavaScript 封裝


面向物件的程式語言允許使用私有欄位隱藏資料。它們使用這些欄位隱藏類的內部機制。在 JS 中,沒有此類內建支援可用於隱藏/封裝內部工作原理。

我們有匿名函式,可以在 JS 中提供封裝。我們來看看一個例子 -

示例

const HIDDEN_CONST = 100;
function fnWeWantToHide(x, y) {
   return (x + y) * HIDDEN_CONST
}
console.log(fnWeWantToHide(1, 2))

如果我們將上面的程式碼編寫成開放的形式,此程式碼將使用這些名稱汙染全域性名稱空間。相反,我們可以將其包裝在 IIFE(立即呼叫的函式表示式)中。例如:

示例

(() => {
const HIDDEN_CONST = 100;
function fnWeWantToHide(x, y) {
   return (x + y) * HIDDEN_CONST
}
console.log(fnWeWantToHide(1, 2))
})()

現在,這些變數隱藏在函式表示式中。但是,函式和 const 不再汙染全域性名稱空間。

更新於: 27-11-2019

320 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.