Ich habe diese drei Funktionen, die mit Ausnahme einiger sehr geringe Unterschiede nahezu identisch sind:mit Anmerkungen versehen mit einer Funktion einer Variablen zugewiesen in Typoskript und TSLint
function toInt1(x: string): number { return parseInt(x, 10); }
const toInt2 = function (x: string): number { return parseInt(x, 10); };
const toInt3 = (x: string): number => parseInt(x, 10);
Jetzt neu Ich bin zu Typoskript, aber in JS Land , Bevorzuge ich das dritte, weil es am prägnantesten und restriktivsten ist (no this
, kein Hochziehen des Funktionsnamens).
aber wenn ich tslint mit dieser Regel (die auf der Oberfläche scheint vernünftig, aber vielleicht bin ich falsch, dass etwa ...):
"typedef": [
true,
"call-signature",
"parameter",
"arrow-parameter",
"property-declaration",
"variable-declaration",
"member-variable-declaration"
],
ich diese Fehler über die toInt2
und toInt3
erhalten:
expected variable-declaration: 'toInt2' to have a typedef
expected variable-declaration: 'toInt3' to have a typedef
Scheint ich es durch Duplizieren alle Arten zu beheben:
const toInt2: (x: string) => number = function (x: string): number { return parseInt(x, 10); };
const toInt3: (x: string) => number = (x: string): number => parseInt(x, 10);
Dies ist jedoch sehr ausführlich und unansehnlich. Ist das wirklich der beste Weg, Dinge zu tun?