如何将这段代码转换为不使用粗箭头?
propertyOf = object => {
return propName => {
for (let key in object) {
if(key === propName) return object[key]
}
}
}
我将第一行更改为
propertyOf = function (object) {
并且代码仍然有效。当我也将第二行更改为
return propName = function () {
尝试调用该函数时出现错误消息“undefined”。在第二行旁边,我也收到一个错误消息:“您是要运行条件操作而不是任务吗?”
完整的代码是这样的:
let bob = {
name: 'Bob',
age: 87
},
searchBob;
propertyOf = object => {
return propName => {
for (let key in object) {
if(key === propName) return object[key]
}
}
}
searchBob = propertyOf(bob);
console.log(searchBob('age'));
最佳答案
在return propName => {
中,propName是函数的参数,因此它将转换为
return function(propName) {
在documentation of the arrow function中,指定只有一个参数时,可以省略括号。