【发布时间】:2018-07-04 23:12:44
【问题描述】:
我在“Angular 入门,第二版”一书中偶然发现了以下箭头函数代码。
let isPrime: (n: number) => boolean = n => {
// body
};
我想确认此细分的正确性。
-
let isPrime= 函数名称“isPrime” -
(n: number)= 输入参数号“n” -
=> boolean= 检查布尔值的箭头函数(放置逻辑的地方) -
=n= 我不明白这部分。这是否意味着如果我输入“在第三步中找到素数的逻辑”并且为真,你会得到满足我逻辑的“n”? -
=> {}= 我可以将 return 或其他逻辑放在这里进行最终处理。
最后一个问题是有多少箭头函数对于链式或循环来说太多了?
我相信@Fenton 对我的理解给出了明确的解释。
@Sebastien 给了我答案,让我意识到我对箭头函数的错误解释;等号和箭头符号并不总是指向函数,也可以表示数据类型。
以下是我接受的答案的组合版本。
类型
现在让我们描述一下这个函数的类型,即接受一个数字并返回一个布尔值。
//correct usage : return boolean
let isPrime: (n: number) => boolean = n => {
// body
return true
};
//incorrect usage
let isPrime: (n: number) => boolean = n => {
// body
return "wrong"
};
简单
我想我会这样写,除非我有充分的理由使用箭头函数!
//correct usage : return boolean
function isPrime(n: number): boolean {
// body
return true;
}
//incorrect usage
function isPrime(n: number): boolean {
// body
return "wrong";
}
我的期末考试是这样的。
let isRightLogic: (n: number) => { host: boolean } = n => {
return { host: true };
}
console.log(isRightLogic(1)); // always return true but you get the idea.
【问题讨论】:
标签: javascript typescript logic arrow-functions