ฉันค่อนข้างใหม่กับไวยากรณ์ของ TypeScript ทำงานกับโค้ดที่มีอยู่ดังนี้:
private checkUsername(username: FormControl): boolean {
return this.userService
.findUser(username.value)
.catch(error => this.displayError(error));
}
TypeScript linter เตือนว่า พารามิเตอร์ error
เป็นประเภท any
โดยปริยาย ยุติธรรมเพียงพอ แต่เมื่อฉันพยายามเพิ่มสิ่งที่ฉันคิดว่าดูเหมือนการประกาศประเภทภายในลูกศรอ้วน:
.catch(error:any => this.displayError(error));
linter เตือนว่าคาดว่า ,
จะมาแทนที่ :
ฉันสามารถระงับข้อผิดพลาดได้โดยล้อมพารามิเตอร์และพิมพ์การประกาศในวงเล็บ:
.catch((error:any) => this.displayError(error));
นี่เป็นเพราะคาดว่าจะมีรายการพารามิเตอร์ชวเลขที่มีไวยากรณ์เดิม (ดังนั้นจึงจำเป็นต้องมีวงเล็บเมื่อประกาศข้อมูลประเภทในลักษณะนี้)
(ทั้ง ความหมายของ =› ใน TypeScript คืออะไร (Fat Arrow) หรือ คืออะไร ความหมายของ =› (ลูกศรที่เกิดจากเท่ากับ & มากกว่า) ใน JavaScript? มีประโยชน์อย่างยิ่ง)