为了账号安全,请及时绑定邮箱和手机立即绑定

这句函数是怎么被执行的?

这句函数是怎么被执行的?

小怪兽爱吃肉 2019-03-10 16:13:26
最近在看函数式编程指南看到容器的部分有点看不懂,其中有一段代码讲Functor的如下:class Maybe {  static of(x) {    console.log(1);    return new Maybe(x);  }  get isNothing() {    console.log(2);    return this.$value === null || this.$value === undefined;  }  constructor(x) {    console.log(3);    this.$value = x;  }  map(fn) {    console.log(4);    return this.isNothing ? this : Maybe.of(fn(this.$value));  }  inspect() {    console.log(5);    return this.isNothing ? 'Nothing' : `Just(${this.$value})`;  }}var test1 = Maybe.of('Malkovich Malkovich');console.log(test1);var test2 = Maybe.of(null).map(_.match(/a/ig));console.log(test2);var test3 = Maybe.of({ name: 'Boris' })                  .map(_.prop('age'))                  .map(_.add(10));console.log(test3);var test4 = Maybe.of({ name: 'Boris', age: 14 })                  .map(_.prop('age'))                  .map(_.add(10));console.log(test4);比较奇怪和不理解的是inspect函数是怎么执行的?似乎没有地方调用这个函数呀。希望有大神可以解答交流一下~
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

inspect只是为了查看容器里面的值的时候用的,你这里没有调用,当然也不会执行


查看完整回答
反对 回复 2019-03-26
  • 1 回答
  • 0 关注
  • 295 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信