我在寫一個小例子來通過打字稿驗證Name
,Email
,Password
和ConfirmPassword
。我們是否必須在打字稿中使用「this」關鍵字?
我已經試過:
interface IValidation {
CheckingNameAndEmail(): boolean;
CheckingPasswordAndConfirmPassword(): boolean;
}
class Validation implements IValidation {
private Input: string;
private Type: string;
constructor(input: string, _type: string) {
this.Input = input;
this.Type = _type;
}
Validate = function() {
switch (this.Type) {
case 'Name':
case 'Email':
return this.CheckingNameAndEmail()
case 'Password':
case 'ConfirmPassword':
return this.CheckingPasswordAndConfirmPassword()
}
};
CheckingNameAndEmail = function() {
var reg = this.Type == 'Name'
? new RegExp('^.{4,16}$')
: new RegExp('^((([0-9]?)[a-zA-Z0-9]([0-9]?))+[\._-]??[a-zA-Z0-9]+)[email protected]{1}?([a-zA-Z0-9]+[\._-]??[a-zA-Z0-9]+)+\.(com|net|org|vn){1}$')
return reg.test(this.Input)
};
CheckingPasswordAndConfirmPassword = function() {
var reg = new RegExp('^.{6,50}$');
return reg.test(this.Input)
};
}
正如你所看到的,我must
在本例中使用this
關鍵字。如果沒有,它會拋出我的錯誤(如:Cannot find ...
)。
所以我的問題是:如何避免在打字稿中多次打電話this
?
你爲什麼要避免'this'?打字? – hansmaad
@hansmaad是的。速記輸入。 –