const isX=value=>value=>10;是什么意思

const isX=value=>value=>10;

let[...spraed]=[10,5,8,23,30];

let filtered=spraed.filter(isX);

console.log(filtered);

const isX=value=>value=>10;是什么意思?

let[...spraed]=[10,5,8,23,30];又是什么意思?

阅读 2.8k
2 个回答

你这个代码是打错了吗?
let [...spraed]=[10,5,8,23,30];
这里这样用多此一举
这样写的好处是引用类型的第一层会按值复制

//第一层按值赋值 但如果是二层以上还是引用  []
let arr = [10,5];                // 2层 [{name:"li"}]
let [...spraed] = arr;
spraed[0] = 1                    //2层 spraed[0].name = 1 
console.log(arr);//[10,5]          //2层 [{name:1}]
console.log(spraed);//[1,5]      //2层 [{name:1}]
const isX=value=>value==10;

let spraed=[10,5,8,23,30];

let filtered=spraed.filter(isX);

console.log(filtered);

v=>v 箭头函数 -> function(v){return v};
... 扩展运算符 let a = [a,b,c]; ...a -> a,b,c 所以 [...a] -> [a,b,c]
扩展运算符常用于函数

function func(a,b,c){console.log(a,b,c)};
func(...[1,2,3]);//1,2,3

function func(...arg){console.log(arg)};
func(1,2,3);//[1,2,3]

//剩余参数
function func(a,...arg){console.log(a,arg)};
func(1,2,3);//1,[2,3]
const isX=value=>value=>10; //箭头函数 console.log(isX(5)())  5
let[...spraed]=[10,5,8,23,30]; //解构赋值 console.log(spraed) [10,5,8,23,30]

解构赋值箭头函数

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题