我更喜欢标准的coffeescript语法,因此在可能的地方不要使用方括号。



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

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


好吧,这里一切都清楚了。但是,如果我叫a怎么办?

obj
.a 5
.a 15
# etc


这也很清楚。



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

obj
.a 5
.a 15
.do b


-编译为

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


但是我希望

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




因此,如何在调用b方法后不传递任何参数的情况下调用a

不使用方括号()

最佳答案

这是不可能的。不用括号将其视为属性或变量。阅读this article为何没有它们就无法编写。一种不带括号的书写方式是为它提供一个参数,例如null,但这比编写()更为麻烦。

关于javascript - 是否可以通过`do`关键字调用对象的方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56579967/

10-12 12:31
查看更多