如何按接口类型填充对象?
How to fill object by interface type?
我有接口类型:
interface IDate {
prev: {
day: number;
month: number;
year: number;
},
next: {
day: number;
month: number;
year: number;
}
}
我尝试使用此界面填充对象:
let obj<IDate> = {
prev: {
day: result.getDate(),
month: result.getMonth() + 1,
year: result.getFullYear
},
next: {
day: result.getDate(),
month: result.getMonth() + 1,
year: result.getFullYear
}
}
它对我不起作用,它有语法错误。我觉得问题在 keys
next: {}
It should be like:
interface IDate {
prev: {
day: number;
month: number;
year: number;
},
next: {
day: number;
month: number;
year: number;
}
}
function addDays(date: Date, days: number) {
var prevDate = new Date(date);
let currentDate = new Date(date);
currentDate.setDate(currentDate.getDate() + days);
let obj: IDate = {
prev: {
day: prevDate.getDate(),
month: prevDate.getMonth() + 1,
year: prevDate.getFullYear()
},
next: {
day: currentDate.getDate(),
month: currentDate.getMonth() + 1,
year: currentDate.getFullYear()
}
}
return obj;
}
var today = new Date();
let dt = addDays(today, 16);
- 首先
let obj: IDate = ...
声明一个对象。
- 其次
getFullYear
不是函数吗?如果是,则调用它 getFullYear()
- 第三
getDate()
returnsDate
还是number
?如果是日期,则将字段类型更改为 Date
我有接口类型:
interface IDate {
prev: {
day: number;
month: number;
year: number;
},
next: {
day: number;
month: number;
year: number;
}
}
我尝试使用此界面填充对象:
let obj<IDate> = {
prev: {
day: result.getDate(),
month: result.getMonth() + 1,
year: result.getFullYear
},
next: {
day: result.getDate(),
month: result.getMonth() + 1,
year: result.getFullYear
}
}
它对我不起作用,它有语法错误。我觉得问题在 keys
next: {}
It should be like:
interface IDate {
prev: {
day: number;
month: number;
year: number;
},
next: {
day: number;
month: number;
year: number;
}
}
function addDays(date: Date, days: number) {
var prevDate = new Date(date);
let currentDate = new Date(date);
currentDate.setDate(currentDate.getDate() + days);
let obj: IDate = {
prev: {
day: prevDate.getDate(),
month: prevDate.getMonth() + 1,
year: prevDate.getFullYear()
},
next: {
day: currentDate.getDate(),
month: currentDate.getMonth() + 1,
year: currentDate.getFullYear()
}
}
return obj;
}
var today = new Date();
let dt = addDays(today, 16);
- 首先
let obj: IDate = ...
声明一个对象。 - 其次
getFullYear
不是函数吗?如果是,则调用它getFullYear()
- 第三
getDate()
returnsDate
还是number
?如果是日期,则将字段类型更改为Date