ES6类私有成员语法

JS.*_*gle 6 javascript private class ecmascript-6

我有一个快速的问题.在ES6课程中声明私有成员的最简洁明了的方法是什么?

换句话说,如何实施

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

  this.publicFunction = function () {
    return 1;
  };
}
Run Code Online (Sandbox Code Playgroud)

class MyClass {

  // ???

  publicFunction () {
    return 1;
  }
}
Run Code Online (Sandbox Code Playgroud)

Fel*_*ing 4

对于班级来说没有太大区别。构造函数的主体简单地变成了 constructor

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

    this.publicFunction = function () {
      return 1;
    };
  }
}
Run Code Online (Sandbox Code Playgroud)

当然publicFunction,如果不需要访问privateFunction.

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