鍍金池/ 問答/HTML/ const isX=value=>value=>10;是什么意思

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];又是什么意思?

回答
編輯回答
帥到炸

你這個代碼是打錯了嗎?
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]
2017年9月22日 14:41
編輯回答
眼雜
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]

解構賦值箭頭函數

2018年6月3日 09:11