如何按接口类型填充对象?

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);
  1. 首先let obj: IDate = ...声明一个对象。
  2. 其次getFullYear不是函数吗?如果是,则调用它 getFullYear()
  3. 第三getDate()returnsDate还是number?如果是日期,则将字段类型更改为 Date