如何将这段代码转换为不使用粗箭头?

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中,指定只有一个参数时,可以省略括号。

10-06 11:35