JavaScript中变量能否作函数?解构赋值代码疑问及等价写法咨询
问题解答
1. 为什么half变量能当作函数调用?
在JavaScript中,函数是一等公民——它们可以像字符串、数字一样被赋值给变量,也能作为参数传递、作为返回值返回。这里的half确实是一个变量,但它存储的不是普通值,而是一个箭头函数,所以你完全可以通过half(stats)的方式调用它。
2. 箭头函数里的解构赋值是什么意思?
代码里的({max, min})是对象解构赋值,作用是直接从传入的对象参数中提取max和min属性。它等价于先接收整个对象,再手动取出这两个属性,只是写法更简洁。
3. 用基础写法实现的版本
如果不用解构赋值,代码可以写成这样:
const stats = { max: 56.78, min: -0.75 }; // 箭头函数版本(不使用解构) const half = (obj) => { return (obj.max + obj.min) / 2.0; }; // 或者用普通函数写法 // function half(obj) { // return (obj.max + obj.min) / 2.0; // } console.log(half(stats));
这段代码和原代码的功能完全一致,只是把解构的步骤拆成了手动读取对象属性的形式。
内容的提问来源于stack exchange,提问作者I am a cat
相关产品推荐
相关产品推荐

