我有这样的代码
class Class
property: 5
@run: ->
console.log @property
Class.run()
我如何在控制台中显示property
值,考虑到我可以更改的内容是@run
内容?
对应jsFiddle
答案 0 :(得分:3)
您提供的代码汇编为:
var Class;
Class = (function() {
function Class() {}
Class.prototype.property = 5;
Class.run = function() {
return console.log(this.property);
};
return Class;
})();
Class.run();
您可以看到property
附加到Class
的原型,而不是类本身。因此,要访问它,您可以使用CoffeeScript中的::
作为合成糖来访问类的原型。
Class::property
否则,如果你真的想要一个静态属性(这里不是这种情况),请按照这样的方式声明:
class Class
@property: 5
答案 1 :(得分:2)
使用Class::property
class Class
property: 5
@run: ->
console.log(Class::property)
Class.run()
答案 2 :(得分:1)
访问类属性:
Class::property