Javascript 理解这个JS语法
我正在练习ES6,我有以下代码:Javascript 理解这个JS语法,javascript,ecmascript-6,Javascript,Ecmascript 6,我正在练习ES6,我有以下代码: const over=(…fns)=>(…args)=> map(fn=>fn.apply(null,args)); const minMax=over(Math.min,Math.max); log(minMax(1,2,3,4,5)); log(minMax(1,2,5,4,3)); log(minMax(1,2,5,-4,3))查看并。minMax=over(Math.min,Math.max),因此,有点像,minMax=(…args)=>[Math.
const over=(…fns)=>(…args)=>
map(fn=>fn.apply(null,args));
const minMax=over(Math.min,Math.max);
log(minMax(1,2,3,4,5));
log(minMax(1,2,5,4,3));
log(minMax(1,2,5,-4,3))
查看并。minMax=over(Math.min,Math.max)
,因此,有点像,minMax=(…args)=>[Math.min,Math.max].map(fn=>fn.apply(null,args))代码>。从那里开始,minMax(1,2,3,4,5)
就是[Math.min,Math.max].map(fn=>fn.apply(null[1,2,3,4,5])
是一个函数,它接受函数列表(如fns
),并返回一个接受值列表(如args
)的函数minMax
是一个获取值列表的函数,因为它是在
上的返回值minMax
现在,当调用时,将函数列表映射到值列表上。始终按照“是一个取X并返回Y的函数”来考虑。请记住,(…)=>(…)=>(…)=>…
是“返回函数的函数”的简写。将(…)=>…
替换为函数(…){return…}
,可能会更清楚。看一看和。minMax=over(Math.min,Math.max)
,所以,有点,minMax=(…args)=>[Math.min,Math.max].map](fn=>fn.apply(null,args));
从那里开始,minMax(1,2,3,4,5)
就是[Math.min,Math.max].map(fn=>fn.apply(null[1,2,3,4,5])
是一个函数,它接受一个函数列表(如fns
),并返回一个值列表(如args
)“minMax
是这个函数,它接受一个值列表,因为它是over
minMax
的返回值。现在,当调用时,将函数列表映射到值列表上。请始终考虑“是一个取X并返回Y的函数”。请记住,(..)=>(..)=>
是“返回函数的函数”。用函数(..){return..}
替换(..)=>..
,可能会更清楚。