Typescript 类型';()=>;编号';不可分配给类型';编号';
我试着做一些非常简单的事情:Typescript 类型';()=>;编号';不可分配给类型';编号';,typescript,vue.js,typescript-typings,Typescript,Vue.js,Typescript Typings,我试着做一些非常简单的事情: DateToString(date: Date): string { let month: number = date.getMonth; let day: number = date.getDate; let year: number = date.getFullYear; return (month + 1) + '/' + day + '/' + year; } 然而,我从标题中得到了错误 类型
DateToString(date: Date): string {
let month: number = date.getMonth;
let day: number = date.getDate;
let year: number = date.getFullYear;
return (month + 1) + '/' + day + '/' + year;
}
然而,我从标题中得到了错误
类型“()=>number”不能分配给类型“number”。
相反,如果我尝试将类型“()=>number”改为“number”,则该错误会消失,我会得到错误
运算符“+”不能应用于类型“()=>number”和“number”
在Typescript中使用Vue和基于类的装饰器。
任何想法?
getMonth
等都必须作为函数调用
DateToString(date: Date): string {
let month: number = date.getMonth();
let day: number = date.getDate();
let year: number = date.getFullYear();
return (month + 1) + '/' + day + '/' + year;
}
顺便说一句,已经有一个函数
toLocaleDateString()
可以执行上面的操作,尽管它会根据客户端系统的区域设置给出不同的结果,这可能是您想要的,也可能不是您想要的。getMonth
等必须作为函数调用
DateToString(date: Date): string {
let month: number = date.getMonth();
let day: number = date.getDate();
let year: number = date.getFullYear();
return (month + 1) + '/' + day + '/' + year;
}
顺便说一句,已经有一个函数
toLocaleDateString()
可以完成上面想要做的事情,尽管它会根据客户端系统的区域设置给出不同的结果,这可能是您想要的,也可能不是您想要的。getMonth
、getDate
和getFullYear
都是函数。要调用这些函数,需要在它们后面加括号,例如getMonth()
。如果不包含括号,则会得到对函数本身的引用。@HunterMcMillen非常感谢!我真不敢相信这会浪费这么多时间。getMonth
、getDate
和getFullYear
都是函数。要调用这些函数,需要在它们后面加括号,例如getMonth()
。如果不包含括号,则会得到对函数本身的引用。@HunterMcMillen非常感谢!真不敢相信这会浪费这么多时间。谢谢你的帮助!谢谢你的帮助!