如何在封装中创建ecma6中的类?

时间:2017-01-17 21:55:03

标签: javascript ecmascript-6

在ecma6 javascript中,我怎样才能创建一个只在以下范围内定义的类:

var name_space = new function() {

    class ball {
      ....
    }

    var handball = new ball();  // real object

};

var handball = new ball(); // error, ball not defined

这可能吗?

由于

2 个答案:

答案 0 :(得分:3)

不确定

(() => {
  class Ball {

  }

  let handball = new Ball(); // works
})();

let handball = new Ball(); // ReferenceError

可能不想这样做。 ES6 modulesIIFE模式的一个令人愉快的替代方案。

答案 1 :(得分:2)

类已经只在最近的块范围中定义:

{ // a block scope
    class Ball {
        …
    }
    let handball = new Ball();  // real object
}

var handball = new Ball(); // ReferenceError, Ball not defined