使用匿名函数进行 JavaScript 封装

javascriptfront end technologyobject oriented programming

面向对象编程语言允许使用私有字段隐藏数据。它们使用这些字段来隐藏类的内部结构。在 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 不再污染全局命名空间。


相关文章