我正在嘗試編寫一個程序,它需要一個數字並根據Luhn公式對其進行驗證。如何使用CoffeeScript中的類設置對象屬性
如何在CoffeeScript的類中設置對象屬性?我想這樣做:
class Luhn
constructor: (@number) ->
lastDigit: @number % 10
但是,這會產生:
function Luhn(number) {
this.number = number;
}
Luhn.prototype.checkDigit = Luhn.number % 10;
它返回undefined
,因爲它試圖訪問類變量。
當設置的原型,你能做到這一點,雖然:
function Luhn(number) {
this.number = number;
}
Luhn.prototype.lastDigit = function() {
return this.number % 10
}
現在Luhn
類的實例有一個功能lastDigit()
其中工程。
有沒有在CoffeeScript中設置對象屬性的方法?我知道我可以將其設置在構造函數中,像這樣:
class Luhn
constructor: (@number) ->
@lastDigit: @number % 10
但我想設置其他更復雜的屬性,我不希望我的構造變得一團糟。這是一個想法,但它仍然有點吸:
class Luhn
constructor: (@number) ->
@lastDigit: @number % 10
@complicatedProperty1 = getComplicatedProperty1(@number)
@complicatedProperty2 = getComplicatedProperty2(@number)
這是什麼最好的方法呢?