箭头函数和显式返回语句
在 JavaScript 中,箭头函数为定义函数提供了简洁的语法。然而,一个常见的陷阱是在调用利用块体的箭头函数时遇到未定义的值。
考虑以下箭头函数:
const f = arg => { arg.toUpperCase(); };
虽然此函数可能看起来合乎逻辑,但在以下情况下它会返回未定义叫。要理解原因,我们需要检查箭头函数的语义。
在箭头函数中使用块体(带大括号)时,隐式返回行为与简洁体(不带大括号)不同。在块体版本中,必须使用 return 关键字显式指定函数返回的值。
const f = arg => { return arg.toUpperCase(); };
通过此显式 return 语句,函数可以正确返回预期值:“TESTING”。
或者,您可以使用简洁的主体语法来隐式实现相同的结果:
const f = arg => arg.toUpperCase();
在这种情况下,最后一个表达式箭头函数会自动返回主体 arg.toUpperCase()。
因此,为避免在使用块体调用箭头函数时出现未定义的值,请始终使用 return 关键字显式指定返回值或使用简洁的主体语法。
以上是为什么某些 JavaScript 箭头函数返回'未定义”?的详细内容。更多信息请关注PHP中文网其他相关文章!