【问题标题】:Is it possible to call object's method via `do` keyword?是否可以通过 `do` 关键字调用对象的方法?
【发布时间】:2019-06-13 20:25:41
【问题描述】:

我更喜欢标准的coffeescript语法,所以我尽可能不使用括号。


所以,我有一些对象。例如,

let obj = {
    с = 0;
    a(x) {
        this.c+=x;
        return this;
    },
    b() {
        this.c++;
        return this;
    }
}

好的,这里一切都清楚了。但是,如果我打电话给a呢?

obj
.a 5
.a 15
# etc

这里也很清楚。


但是,如果我不想使用方括号(),在调用a 之后如何调用b

obj
.a 5
.a 15
.do b

- 编译成

obj.a(5).a(15).do(b);

但我希望

obj.a(5).a(15).b();

那么,在调用a方法后,如何在不传递任何参数的情况下调用b
不使用括号()?

【问题讨论】:

    标签: javascript coffeescript


    【解决方案1】:

    这是不可能的。不带括号编写它会将其视为属性或变量。阅读this article,了解为什么没有它们就无法编写它。一种不带括号的写法是给它提供一个参数,比如null,但这比写()更难看。

    【讨论】:

      猜你喜欢
      • 2017-02-11
      • 2018-10-02
      • 1970-01-01
      • 2012-08-23
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      • 2014-10-20
      相关资源
      最近更新 更多