如下,错误示例:
'use strict'
class MyDate extends Date{
constructor(){
super();
}
fromDate(date){
var mTimes = super(date);//这里想调用new Date(date)的构造方法
}
}
如下,错误示例:
'use strict'
class MyDate extends Date{
constructor(){
super();
}
fromDate(date){
var mTimes = super(date);//这里想调用new Date(date)的构造方法
}
}
一般不会在子类的方法中去访问构造方法的吧
不是不会,是不能。你可以借鉴下后端的语法规范。即构造方法,只能在构造方法中调用,且必须位于第一行。构造方法的目的是初始化,在调用成员方法之前,类应该是已经初始化过了的,所以不允许在调用成员方法的时候再去调用构造函数。
可以这样:
class Cat {
constructor(name) {
this.name = name;
}
speak() {
console.log(this.name + ' makes a noise.');
}
}
class Lion extends Cat {
speak() {
super.speak();
console.log(this.name + ' roars.');
}
}
具体参考这里吧:https://developer.mozilla.org...
13 回答13.1k 阅读
7 回答2.2k 阅读
3 回答1.4k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
6 回答1.4k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
没这样的语法,这么写会报错,如果你想用的话这么写吧
Class用法