美文网首页
记录箭头函数的一个坑

记录箭头函数的一个坑

作者: 章音十 | 来源:发表于2020-06-08 18:10 被阅读0次

用了一下reduce方法,结果一直返回undefined,代码如下:

const camelCase = (str) => {
  str.split("_").reduce((result, word, index) => {
    word = word.toLowerCase()
    return result + (index ? word[0].toUpperCase().concat(word.slice(1)) : word)
  }, '')
}

百思不得其解,最后把最外层箭头函数的函数体用圆括号包围,就能正确返回了。
正确代码如下:

const camelCase = (str) => (
  str.split("_").reduce((result, word, index) => {
    word = word.toLowerCase()
    return result + (index ? word[0].toUpperCase().concat(word.slice(1)) : word)
  }, '')
)

之所以不能用花括号是因为函数体内部还有一个花括号,js不知道哪个花括号是外层箭头函数的函数体。所以出现了这样的问题。
记录一下。

相关文章

  • 关于ES6箭头this的指向问题

    ES6 允许使用 “ 箭头 ” (=>)定义函数。 箭头函数 填 坑。 this的指向是 向上查找 非箭头函数的...

  • 关于箭头函数 this的指向问题

    ES6 允许使用 “ 箭头 ” (=>)定义函数。 箭头函数 填 坑。 this的指向是 向上查找 非箭头函数的函...

  • 关于箭头函数 this的指向问题

    ES6 允许使用 “ 箭头 ” (=>)定义函数。 箭头函数 填 坑。 this的指向是 向上查找 非箭头...

  • 记录箭头函数的一个坑

    用了一下reduce方法,结果一直返回undefined,代码如下: 百思不得其解,最后把最外层箭头函数的函数体用...

  • 箭头函数的坑

    es6里面的箭头函数很好用,不过也有些坑,如果你觉得它完全取代了function关键字,那就是大错特错了。 构造函...

  • 学习 ES 6 箭头函数

    箭头函数的用法 ES6 允许使用“箭头”(=>)定义函数。 箭头函数的一个用处是简化回调函数。 箭头函数 this...

  • 浏览器,JS基础面试题记录

    记录一些自己碰壁的面试题 箭头函数 1.为什么箭头函数不能是构造函数 Promise 1.如何取消一个Promis...

  • 箭头函数

    箭头函数 箭头函数能让this的指向固定化 分析:1)第一个setInterval()中使用了箭头函数,箭头函数使...

  • ES6 - 箭头函数(替代匿名函数)

    箭头函数替代匿名函数 无参数 一个参数 多个参数 箭头函数和匿名函数的区别 箭头函数体内的 this 由其外层函数...

  • 箭头函数

    1. 箭头函数的形式 (a,b,c) => {函数声明} 当箭头函数只有一个参数时 a => {函数声明} 当箭头...

网友评论

      本文标题:记录箭头函数的一个坑

      本文链接:https://www.haomeiwen.com/subject/elfdtktx.html