10

在 ES6 中,给出以下示例:

export default class MyStyle extends Stylesheet {
   static Color = {
      mainDark: '#000'
   }
   static Comp = {
      ...
      color: Color.mainDark
   }
}

如何访问 Color.mainDark (静态字段)?

4

2 回答 2

10

您可以按预期访问它,但是如果我记得在使用 Babel 并立即导出类时存在一些问题,因此如果遇到问题,请在定义类后导出:

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

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

export default MyStyle;

您可以在Marian 就类似问题所做的回答中阅读有关 Babel 问题的更多信息,据说该问题已在 Babel 6.2.1 中修复。

于 2015-12-11T10:02:34.403 回答
0
'use strict';

 class User {
   constructor(firstName, lastName) {
   this.firstName = firstName;
   this.lastName = lastName;
 }

 static createGuest() {
    return new User("guest", "site");
   }
 };

 let user = User.createGuest();

  alert( user.firstName ); // guest

  alert( User.createGuest ); // createGuest ... (function)

和常量:

'use strict';

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

alert( Menu.elemClass ); // menu

使用对上下文对象的调用 --- this

ES6 - 在类中调用静态方法

于 2015-12-11T09:40:38.243 回答