我可以在课堂上扩展Math
对象吗?我希望Math
静态字段在我的课程中是静态的。
class MyClass extends Math {
constructor() {
super();
}
}
console.log(MyClass.PI);
答案 0 :(得分:5)
我想您可以使用function
代替class
并使用setPrototypeOf
:
function MyClass() {
}
Object.setPrototypeOf(MyClass, Math);
MyClass.prototype = Object.create(Math);
console.log(MyClass.PI);
但是Math
无法实例化。像上课一样使用它没有多大意义。仅使用从Math继承的普通对象可能更有意义:
const MyObj = Object.create(Math);
MyObj.someOperation = () => {
console.log('some operation');
};
console.log(MyObj.PI);
MyObj.someOperation();