336 字
2 分钟

箭头函数写法的注意点

欢迎来到我的博客!#

使用 Markdown 格式编写。

今天学到了什么#

  • 箭头函数写法的注意点

箭头函数写法的注意点#

这是因为 JavaScript 中的 return 语句不能换行

在你的代码中,return 关键字后面直接跟了一个换行符,JavaScript 解析器会自动在 return 后面加分号,导致实际上是执行了 return;(返回 undefined),而下面的模板字符串成了永远不会执行的代码。

错误分析#

const htmlStr = list.map((item, index) => {
return // <--- 灾难发生在这里:JS 认为这里是 return; 结束了。
` <tr> ... </tr> `
}).join('')

解决方法#

方案一:把模板字符串跟在 return 后面(不要换行)#

const htmlStr = list.map((item, index) => {
return ` <tr>
<td>${index + 1}</td>
...
</tr>
`
}).join('')

方案二(推荐):去掉花括号和 return#

利用箭头函数的隐式返回特性,代码更简洁:

const htmlStr = list.map((item, index) => `
<tr>
<td>${index + 1}</td>
<td>${item.bookname}</td>
<td>${item.author}</td>
<td>${item.publisher}</td>
<td>
<span class="del" data-id="${item.id}">删除</span>
<span class="edit" data-id="${item.id}">编辑</span>
</td>
</tr>
`).join('')

你上次代码中,return 和后面的模板字符串换行了,在 JavaScript 中,如果 return 后面直接换行,JS 会自动在 return 后面加分号,导致返回 undefined

// 错误写法
return
`...` // 这里实际执行的是 return; 下面的代码不执行
// 正确写法
return `...`

赞助支持

如果这篇文章对你有帮助,欢迎赞助支持!

赞助
最后更新于 2026-03-01,距今已过 19 天

部分内容可能已过时

目录