为什么我会在这个 TypeScript 箭头函数中收到这个错误?
Why am I obtaining this error in this TypeScript arrow function?
我发现编写一个 箭头函数 有一些困难,它采用 2 个日期参数并检查这些日期对象是否代表同一天。
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 代码在代码上给我这个错误:;'预期。
编译我的代码我得到:
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() &&
怎么了?我错过了什么?我该如何尝试修复它?
另一个疑问是:我是否必须明确 return 结果或结果 return 在箭头函数中是隐含的?
关于缺少分号的错误是因为箭头函数的主体在一个块中,所以每个语句都必须正确终止。
话虽如此,我认为缺少的分号并不是唯一的问题。首先,你的箭头函数的定义方式看起来不对。看起来您正在定义一个函数,但参数定义看起来像是一个现有变量事件的属性。
如果您已经有了事件对象,不确定为什么需要箭头函数。
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);
我不太确定你想在这里达到什么目的。你这里有两个问题:
- 函数(以这种形式)需要有一个 return 语句。
您没有像这样指定输入参数。
常量结果=(开始日期:日期,结束日期:日期)=> {
return startDate.getFullYear() === endDate.getFullYear() && startDate.getMonth() === endDate.getMonth() && startDate.getDate() == = endDate.getDate();
}
这就是箭头函数的工作原理。
最后提示:由于您使用的是 TypeScript,因此请避免使用 var。使用 let 和 const 代替。具体来说(在这种情况下),使用 const 来定义这样的函数。
我发现编写一个 箭头函数 有一些困难,它采用 2 个日期参数并检查这些日期对象是否代表同一天。
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 代码在代码上给我这个错误:;'预期。
编译我的代码我得到:
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() &&
怎么了?我错过了什么?我该如何尝试修复它?
另一个疑问是:我是否必须明确 return 结果或结果 return 在箭头函数中是隐含的?
关于缺少分号的错误是因为箭头函数的主体在一个块中,所以每个语句都必须正确终止。
话虽如此,我认为缺少的分号并不是唯一的问题。首先,你的箭头函数的定义方式看起来不对。看起来您正在定义一个函数,但参数定义看起来像是一个现有变量事件的属性。
如果您已经有了事件对象,不确定为什么需要箭头函数。
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);
我不太确定你想在这里达到什么目的。你这里有两个问题:
- 函数(以这种形式)需要有一个 return 语句。
您没有像这样指定输入参数。
常量结果=(开始日期:日期,结束日期:日期)=> { return startDate.getFullYear() === endDate.getFullYear() && startDate.getMonth() === endDate.getMonth() && startDate.getDate() == = endDate.getDate(); }
这就是箭头函数的工作原理。
最后提示:由于您使用的是 TypeScript,因此请避免使用 var。使用 let 和 const 代替。具体来说(在这种情况下),使用 const 来定义这样的函数。