函子(Functor)

函子: 是一个特殊的容器,通过一个普通的对象来实现,该对象具有map方法,map 方法可以运行一个函数对值进行处理
 

// Functor
// 定一个类
class Container{
    constructor(value){
        this._value= value
    }
    // 向外提供方法
    map(fn){
        return new Container(fn(this._value))
    }
}

let r= new Container(5)
    .map(x=> x+1) //返回还是Container对象
    .map(x => x*x)

    console.log(r); // Container { _value: 36 }

函子有: MayBe函子,Either函子 ,Either函子 , IO 函子, Folktale , Task 函子, pointed 函子,Monad函子,后面有时间再添加

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值