Javascript映射对象文字不起作用,但new object()起作用



Object文字表示法在map函数中不起作用吗?我在节点12和15 REPL 中尝试过这个

> nums = [1,2,3,4]
[ 1, 2, 3, 4 ]
> nums.map(n => { n })
[ undefined, undefined, undefined, undefined ]
> nums.map(n => new Object({n}))
[ { n: 1 }, { n: 2 }, { n: 3 }, { n: 4 } ]

试试这个:

nums.map(n => ({ n }))

如果没有括号,{ n }将被解释为函数的主体。通过包含圆括号,表示应该隐式返回{ n }

以下是隐式回报与显式回报的概述,这将有助于提供更多细节。

最新更新