Javascript JS&;ES6:从类内访问静态字段

Javascript JS&;ES6:从类内访问静态字段,javascript,reactjs,ecmascript-next,Javascript,Reactjs,Ecmascript Next,在ES6中,给出以下示例: export default class MyStyle extends Stylesheet { static Color = { mainDark: '#000' } static Comp = { ... color: Color.mainDark } } 如何访问Color.mainDark(静态字段) 和常数: 'use strict'; class Menu { static get ele

在ES6中,给出以下示例:

export default class MyStyle extends Stylesheet {
   static Color = {
      mainDark: '#000'
   }
   static Comp = {
      ...
      color: Color.mainDark
   }
}
如何访问Color.mainDark(静态字段)

和常数:

'use strict';

class Menu {
 static get elemClass() {
   return "menu"
 }
}

alert( Menu.elemClass ); // menu
使用对上下文对象的调用--此


您可以像预期的那样访问它,但是如果我记得在使用Babel并立即导出类时出现了一些问题,那么在定义类后导出(如果您遇到问题):

class MyStyle extends Stylesheet {
   static Color = {
      mainDark: '#000'
   }

  someMethod() {
    console.log(MyStyle.Color.mainDark);
  }
}

export default MyStyle;

您可以在中阅读有关巴别塔问题的更多信息,该问题在巴别塔6.2.1中被认为已修复。

您不能。它直到最后一行的结束符
}
才被定义,这不是ES6。这是一些奇怪的实验性(ES7建议的)属性初始化器。听起来像是/或@zerkms的复制品:奇怪的是,我真的不喜欢建议的操作符。显然,“赋值运算符”的选择在这里引起了相当大的混乱。是否有类似于
self.Color.mainDark
的东西可以省略重复类的名称?@Ionix我不这么认为
class MyStyle extends Stylesheet {
   static Color = {
      mainDark: '#000'
   }

  someMethod() {
    console.log(MyStyle.Color.mainDark);
  }
}

export default MyStyle;