[在编写带有两个日期参数的箭头功能时遇到一些困难,并检查对象的日期是否代表同一天。
var result = (event.startDate, event.endDate) => { event.startDate.getFullYear() === event.endDate.getFullYear() &&
event.startDate.getMonth() === event.endDate.getMonth() &&
event.startDate.getDate() === event.endDate.getDate()
}
但是Visual Studio Code在代码上给我这个错误:;'预期。
并编译我得到的代码:
ERROR in src/app/people-list/people-list.component.ts:103:51 - error TS1005: ';' expected.
103 var result = (event.startDate, event.endDate) => { event.startDate.getFullYear() === event.endDate.getFullYear() &&
怎么了?我想念什么?我该如何解决?另一个疑问是:我是否要明确返回结果或箭头函数中返回的结果不明确?
关于缺少分号的错误是因为箭头函数的主体位于一个块中,所以每个语句都必须正确终止。
话虽如此,我认为缺少分号不是唯一的问题。首先,定义箭头功能的方式看起来不正确。看起来您正在定义一个函数,但是参数定义看起来像它们是一个existig变量事件的属性。
如果已经有了事件对象,则不确定为什么需要箭头功能。
var result = event.startDate.getFullYear() === event.endDate.getFullYear() && event.startDate.getMonth() === event.endDate.getMonth() && event.startDate.getDate() === event.endDate.getDate();
应该以结果为真或假结束。如果您真的想使用箭头功能,则需要像这样的文字
const fn = (event: any) => event.startDate.getFullYear() === event.endDate.getFullYear() && event.startDate.getMonth() === event.endDate.getMonth() && event.startDate.getDate() === event.endDate.getDate();
const result = fn(event);