javascript - ES6 类私有(private)成员语法

标签 javascript class private ecmascript-6

<分区>

我有一个简短的问题。在 ES6 类中声明私有(private)成员的最简洁直接的方法是什么?

也就是说,如何实现

function MyClass () {
  var privateFunction = function () {
    return 0;
  };

  this.publicFunction = function () {
    return 1;
  };
}

作为

class MyClass {

  // ???

  publicFunction () {
    return 1;
  }
}

最佳答案

对于类来说并没有太大区别。构造函数的主体简单地成为 constructor 的主体:

class MyClass {
  constructor() {
    var privateFunction = function () {
      return 0;
    };

    this.publicFunction = function () {
      return 1;
    };
  }
}

当然 publicFunction 也可以像您的示例中那样是一个真正的方法,如果它不需要访问 privateFunction

我并不是特别建议这样做(出于各种原因我反对伪私有(private)属性),但这是对您的代码最直接的翻译。

关于javascript - ES6 类私有(private)成员语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30191656/

相关文章:

javascript - 使用 Jquery draggable 将拖放/附加功能应用于 JSTreegraph

javascript - 可以使用 PostMessage API 与 Android WebView 进行通信吗?

java - 为什么 Python 不使用类 C++/Java 的语法来定义实例变量?

PHP 使用私有(private)方法作为回调

javascript - 无法在 javascript 中拥有基于类的对象?

javascript - php 控制结构和 javascript 控制结构之间的区别

Java 实例位置

css - CSS 中的伪类和类

c# - c#中私有(private)成员的继承

javascript - salesforce 中的远程操作不适用于 safari,但适用于所有其他浏览器