JS 和 ES6:从 class 中访问静态字段
JS & ES6: Access static fields from within class
在 ES6 中,给出以下示例:
export default class MyStyle extends Stylesheet {
static Color = {
mainDark: '#000'
}
static Comp = {
...
color: Color.mainDark
}
}
如何访问 Color.mainDark(静态字段)?
'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 - Call static method within a class
您可以按预期访问它,但是如果我记得使用 Babel 并立即导出 class 时存在一些问题,那么在定义 class 之后导出如果你有问题:
class MyStyle extends Stylesheet {
static Color = {
mainDark: '#000'
}
someMethod() {
console.log(MyStyle.Color.mainDark);
}
}
export default MyStyle;
您可以在 中阅读有关 Babel 问题的更多信息,据推测该问题已在 Babel 6.2.1 中修复。
在 ES6 中,给出以下示例:
export default class MyStyle extends Stylesheet {
static Color = {
mainDark: '#000'
}
static Comp = {
...
color: Color.mainDark
}
}
如何访问 Color.mainDark(静态字段)?
'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 - Call static method within a class
您可以按预期访问它,但是如果我记得使用 Babel 并立即导出 class 时存在一些问题,那么在定义 class 之后导出如果你有问题:
class MyStyle extends Stylesheet {
static Color = {
mainDark: '#000'
}
someMethod() {
console.log(MyStyle.Color.mainDark);
}
}
export default MyStyle;
您可以在