簡體   English   中英

如何從coffeescript中的靜態方法訪問類屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM