[英]How to access class properties from static methods in coffeescript
我有這樣的代碼
class Class
property: 5
@run: ->
console.log @property
Class.run()
考慮到我只能更改@run
內容,如何使property
值出現在控制台中?
對應的jsFiddle
您提供的代碼編譯為:
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
使用Class::property
class Class
property: 5
@run: ->
console.log(Class::property)
Class.run()
訪問類屬性:
Class::property
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.