控制台.log如何处理没有返回值的函数



即使assignEvent函数只是赋值而不返回任何值。我仍然看到下面的代码中打印了值。为什么它在下面的代码中打印 19.99?

let event = {
name: "hot dog and burger sunday",
financials: {
baseCost: "19.99",
discountsAvailable: false,
maxCost: '29.99'
},
subscribers: [
// lots of subscribers here
]
}
let eventPrice;
const assignEvent = ({financials: {baseCost: price }}) => eventPrice = price 
console.log(assignEvent(event));

Arrow 函数在函数主体周围没有大括号,隐式返回表达式的结果。在您的情况下,它返回赋值的结果,即eventPrice的值。

是的,它确实返回一个值。当您使用不带括号的箭头函数时(可以使用一行函数来完成(,此行也用作 return 语句。由于它是一个赋值,因此它返回分配的值。eventPrice = price是您的退货声明。

最新更新