Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用接口类型脚本扩展日期原型_Javascript_Date_Interface_Typescript - Fatal编程技术网

Javascript 使用接口类型脚本扩展日期原型

Javascript 使用接口类型脚本扩展日期原型,javascript,date,interface,typescript,Javascript,Date,Interface,Typescript,我想在javascript/typescript中向日期原型添加一个getWeekNumber函数。我想用一个接口来做这件事,否则我会得到一个错误,他不知道getWeekNumber()方法 首先,我尝试使用标准日期界面,如下所示: interface Date { getWeekNumber(): number; } 这解决了日期的所有方法都不能再调用的问题 我想知道有没有一种方法可以通过界面来延长日期。您可以这样做: 在DateExt.ts中: interface Date {

我想在javascript/typescript中向日期原型添加一个getWeekNumber函数。我想用一个接口来做这件事,否则我会得到一个错误,他不知道getWeekNumber()方法

首先,我尝试使用标准日期界面,如下所示:

interface Date {
    getWeekNumber(): number;
}
这解决了日期的所有方法都不能再调用的问题


我想知道有没有一种方法可以通过界面来延长日期。

您可以这样做:

在DateExt.ts中:

interface Date 
{
    getWeekNumber: () => number;
}

Date.prototype.getWeekNumber = function() 
{
    return 123;//your calculations goes here
};
在你的app.ts中:

import './DateExt';

let a = new Date();
console.log(a.getWeekNumber());

该解决方案的问题是,所有日期方法不再可用,例如
getTime()
getDate()
它们都可用。这是IDE的一个问题。我有最新的VSCode/Typescript,它工作起来很有魅力。还有我的ionic CLI崩溃和应用程序本身对不起我的错误。我导出了接口,并用{Date}导入了它