如何在ES Next中扩展静态属性
How do you extend static properties in ES Next?
有时(尽管很少)需要扩展而不是覆盖父静态属性,例如下面的(非常蹩脚的)示例:
class Person {
static coreStats = {
role: "slacker",
weapon: null,
speed: 4,
vechicle: "roller blades",
};
}
class Ninja extends Person {
static coreStats = {
role: "silent assassin",
weapon: "katana",
speed: 99,
};
}
console.log(Ninja.coreStats); // But vechicle is no more
如何在不破坏父属性的情况下扩展子类中的静态属性?
您可以这样做:
class Person {
static coreStats = {
role: "slacker",
weapon: null,
speed: 4,
vechicle: "roller blades",
};
}
class Ninja extends Person {
static coreStats = Object.assign({}, Person.coreStats, {
role: "silent assassin",
weapon: "katana",
speed: 99
});
}
console.log(Ninja.coreStats);
这将合并coreStats
,并在重复的情况下用Ninja.coreStats
覆盖Person.coreStats
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- 扩展移相器按钮类不工作
- chrome扩展中的navigator.geolocation.getCurrentPosition
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- chrome扩展更改主机/域警告
- TableExport jquery插件:文件名和扩展名问题
- 如何在chrome扩展中重定向到html页面
- Chrome扩展没有't在重新加载之前考虑期权价值
- 扩展SVGTextElement时出现Typescript Uncaught TypeError
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 如何在ES Next中扩展静态属性
- 如何定义扩展方法并将其作为实例和静态方法调用
- 如何在不影响原始函数的情况下扩展javascript中的静态函数(使用新名称)
- Javascript类扩展:从子类函数调用基类函数:似乎在调用静态方法
- 在 React.js 中覆盖/扩展 ES7 类的静态属性
- 从base.html扩展到模板时,静态js文件不运行
- chrome扩展可以访问和修改静态HTML资产吗?
- 在TypeScript中以类型安全的方式用静态函数从外部库扩展一个类
- 为什么我的jQuery扩展's函数行为&;静态&;
- 我可以用“静态方法”扩展对象、函数、日期等吗?在节点