我有以下的代码,声明其通过中介功能通知之前函数结果被分配给原型时隙的方法。
class A
somemethod: advise => @dosomething()
为什么脂肪箭头不绑定在这种情况下,实例?
我有以下的代码,声明其通过中介功能通知之前函数结果被分配给原型时隙的方法。
class A
somemethod: advise => @dosomething()
为什么脂肪箭头不绑定在这种情况下,实例?
当中介的原型插槽名称和功能定义之间把你打破句法模式,使CS发出绑定代码在构造函数
class A
foo: (paramlist) =>
bar: ()=>
baz: =>
所有这些方法定义发射所生成的Javascript构造该代码
function A() {
this.foo = __bind(this.foo, this);
this.bar = __bind(this.bar, this);
this.baz = __bind(this.baz, this);
}
如果你把你们之间打破由该CoffeeScript的编译器可以识别模式和生成必要的代码,句法模式识别的东西。
class A
helpWhereIsMyMethod: processTheFollowing => @doSomething()
在这种情况下,在构造函数中没有绑定电话产生
当你定义一个原型插槽(名称),并立即指派(匿名)功能,它已有效地创建了一个手柄,通过它可以稍后访问该功能和“过程”,或称之为(大多数情况下)。
如果你管到功能的结果结合您有效地创建,你以后不能访问匿名函数原型插槽之前的另一个功能(中介)。
所以CoffeeScript的编译器不知道如何,因为在创建对象的时候了,不再给匿名函数的访问发出构造函数中的绑定代码。
另外,中介功能,可以生成它自己的代码,并发出新的代码绑定到原型插槽。