JavaScript 通过参考设计模式传递



我对 JavaScript 比较陌生,整个引用传递的东西有点吓人。某些对象需要保护其数据不被外部变异。这导致我考虑一种设计模式,其中本地成员对象(简单值对象)只能通过仅返回本地对象副本的 getter 访问,以防止引用泄漏。

这是标准做法吗?这通常是如何处理的?

这并不常见,AFAIK。更常见的信息隐藏模式是将私有数据保存在闭包内的局部变量中。例如:

var untamperableCounter = (function() {
  var counter = 0;
  return {
    next: function() {
      return ++counter;
    }
  }
})();
untamperableCounter.next();
// 1
untamperableCounter.next();
// 2
untamperableCounter.count
// ReferenceError

最新更新