Typescript 重写Date子类中的构造函数

Typescript 重写Date子类中的构造函数,typescript,Typescript,我想创建一个新的Date子类并重写构造函数: export class MyDate extends Date { constructor(str: string) { super(str); } } 现在,如果我创建一个MyDate对象,它将不起作用: var myDate = new MyDate("2016-10-20T12:30:00+0200"); console.log(myDate.toDateString()); // it crashes, myDate is

我想创建一个新的
Date
子类并重写构造函数:

export class MyDate extends Date {
  constructor(str: string) {
    super(str);
  }
}
现在,如果我创建一个
MyDate
对象,它将不起作用:

var myDate = new MyDate("2016-10-20T12:30:00+0200");
console.log(myDate.toDateString()); // it crashes, myDate is incorrect
我得到
TypeError:Method Date.prototype.toDateString调用了不兼容的接收方[object]

如何覆盖
日期
构造函数?有可能吗?

根据,发生这种情况是因为ES5中不允许子类化
Date
。以下ES6代码在Chrome中工作,因为Chrome本机支持ES6类(它与您的代码完全相同,只是我删除了类型注释):

类MyDate扩展日期{
建造师(str){
超级(str);
}
}
var myDate=新的myDate(“2016-10-20T12:30:00+0200”);

log(myDate.toDateString())您的
MyDate
声明中缺少一个右括号。你的原始代码中有吗?您还需要准确地说明在尝试登录时发生了什么。“it崩溃”是什么意思?你是对的,类是:
类MyDate扩展日期{

构造函数(str:string){``super(str);``}
}
,错误是:
类型错误:方法Date.prototype.toDateString调用了不兼容的接收方[对象]