2016-08-08 18 views
3

Wenn ich mein Typoskript-Projekt kompiliere, verwende ich die Option noImplicitAny, damit ich nicht vergesse, die Typen für meine Variablen und Argumente anzugeben.Überspringungsartüberprüfung nicht verwendeter Parameter

Allerdings haben Sie manchmal Argumente, die Sie nicht verwenden. Zum Beispiel:

jQuery.ajaxTransport("+*", function (options: JQueryAjaxSettings) { 
    return { 
    abort: function (_, callback: JQueryCallback) { 

bin ich im ersten Argument der Abbruchfunktion nicht interessiert, so dass ich es ignorieren, indem sie die Benennung _.

Ist das der richtige Weg, um das in TypeScript zu tun? Ich konnte es im Führer nicht finden. Ich vermute, dass es nicht der richtige Weg ist, weil ich nur ein Argument nennen kann.

Typoskript wirft die folgende Fehlermeldung:

error TS7006: Parameter '_' implicitly has an 'any' type.

ich nur _:any geben könnte, aber das scheint ein wenig übertrieben für ein Argument, das ich nicht verwenden.

+0

gibt es keine solche Sache als Standard-Parametername. Wenn Sie noImplicitAny aktiviert haben, müssen Sie den Typ für alles angeben. – toskv

+0

Ich bin im Grunde auf der Suche nach dem Äquivalent von Swift ignoriert Parameter: http://StackOverflow.com/Questions/24338045/what-is-the-usecase-for-ignored-Parameters-in-Swift – Zyphrax

+0

gibt es keine solche Sache in JS oder Typoskript. :) – toskv

Antwort

-3

Es gibt keine Möglichkeit, unerwünschte Parameter in JavaScript oder TypeScript zu überspringen.

+2

Ja, es gibt (durch Voranstellen eines Param mit Unterstrich) ... https://github.com/Microsoft/TypeScript/issues/9458 – jugglingcats

+0

Ich war mir dessen nicht bewusst Ich denke, @ Keiths Antwort ist die richtige. Ich werde meine löschen, hoffentlich wird das OP es auch ändern. :) – toskv

+0

@Zyphrax können Sie diese Antwort aufheben, ist es falsch? – toskv

8

Ich hatte das gleiche Problem. Mit say express und routing würden Sie oft nur den Parameter res wünschen.

router.get('/', function (req, res) { res.end('Bye.'); }); 

Ihre Idee der Verwendung von _ arbeitet hier, aber ich habe auch zu diesen Werken zu tun.

function (_1, _2, _3, onlyThis) { console.log(onlyThis); } 

Dies scheint besser, als nur tun ‚_‘ Ich denke, vielleicht mit lodash/unterstreichen ein wenig verwirrend machen, und es macht auch deutlich, es ist der vierte Parameter Ihr Interesse an.