在ecma6 javascript中,我怎样才能创建一个只在以下范围内定义的类:
var name_space = new function() {
class ball {
....
}
var handball = new ball(); // real object
};
var handball = new ball(); // error, ball not defined
这可能吗?
由于
答案 0 :(得分:3)
不确定
(() => {
class Ball {
}
let handball = new Ball(); // works
})();
let handball = new Ball(); // ReferenceError
你可能不想这样做。 ES6 modules是IIFE模式的一个令人愉快的替代方案。
答案 1 :(得分:2)
类已经只在最近的块范围中定义:
{ // a block scope
class Ball {
…
}
let handball = new Ball(); // real object
}
var handball = new Ball(); // ReferenceError, Ball not defined