je la fonction suivante:signature de la fonction Validation - Interface de type alias vs
function (n: number) {
return {s: n};
}
Je dois créer un validateur pour la signature. D'après ce que je l'ai lu, j'ai deux options:
Interface
interface ValidatorFnInterface {
(n: number): {
[key: string]: any;
};
}
alias Type
type ValidatorFnType = (n: number) => {
[key: string]: any
};
Et ils peuvent être utilisés comme ceci:
let f1: ValidatorFnInterface = function (n: number) {
return {s: n};
};
let f2: ValidatorFnType = function (n: number) {
return {s: n};
};
Tapote lib.d.ts
semble utiliser des alias de type, alors que le code angular2 semble utiliser une interface. Ma question est de savoir quand utiliser quoi? Y a-t-il une logique que je devrais utiliser pour décider ou est-ce une question de préférence?
merci, alors qu'est-ce que vous dites que vous vous en tiendriez à des interfaces pour la validation des signatures de fonctions? –
@Maximus Cela dépend de vos besoins. Personnellement, j'aime exprimer mes types avec des alias de type parce qu'il se sent plus propre. Mais les interfaces sont probablement un pari plus sûr, et plus réutilisable. – Alex
merci. L'alias de type est-il apparu plus tard dans la langue que les interfaces? Peut-être que c'est la raison pour laquelle angular2 utilise des interfaces. Aussi, que pouvez-vous dire à propos de [this] (http://stackoverflow.com/questions/13137350/defining-typescript-callback-type#comment47535906_14249517) comment? –