偏函数的用法是指创建一个调用另外一个变量或参数已经预置的函数的函数。这段话读起来比较抽象,可以看如下一个示例。
通常写一个判断数据类型的函数可以使用如下方式。
const toString = Object.prototype.toString;
const isString = x => toString.call(x) === '[object String]'
const isArray = x => toString.call(x) === '[object Array]'
为了写类型校验的函数可能要写很多个形如这样的函数。这样就会导致出现很多冗余的代码。
为了解决这个问题,可以引入一个类似工厂作用的函数,其它的函数都通过这个工厂函数来创建。
const toString = Object.prototype.toString;
const isType = type => x => toString.call(x) === `[object ${type}]`;
const isString = isType('String');
const isArray = isType('Array');
这种通过指定部分参数来产生一个定制函数的形式就是偏函数。
如果觉得我的文章对您有用,请您随意打赏。您的支持将鼓励我更加努力创作!
如无特殊声明,文章均为原创,若有不正之处,万望告知。转载请附上原文地址,十分感谢!