使用匿名函数进行 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 不再污染全局命名空间。
广告