Website-Suche

typescript - Was ist "DefinitelyTyped"?


Ich sehe, dass „DefinitelyTyped“ etwas im Zusammenhang mit TypeScript/JavaScript-Entwicklung ist, aber ich konnte seinen Zweck oder ein Beispielcode, um es zu verstehen, nicht verstehen.

Ich habe mir http://definitelytyped.org/ und http://bartvds.github.io/projects/dt.html angesehen, konnte es aber nicht besser verstehen.

Jegliche Hinweise, Artikel oder Codebeispiele werden sehr geschätzt.

Antwort #1

TypeScript ermöglicht es Ihnen, Deklarationsdateien zu haben, die Dateien sind, die es Ihnen erlauben, die Struktur von Code zu beschreiben, der zum Beispiel in einfachem JavaScript geschrieben ist. Durch das Referenzieren einer dieser Dateien sagen Sie TypeScript genau, wie dieser von Ihnen verwendete JavaScript-Code oder die Bibliothek als „typisiert“ betrachtet werden sollte. Natürlich bedeutet dies, dass die Deklarationsdatei sorgfältig geschrieben und mit der von Ihnen verwendeten JavaScript-Bibliothek synchron sein muss.

DefinitelyTyped ist das beliebteste Repository für Deklarationsdateien für viele, viele JavaScript-Bibliotheken, von denen die meisten keine eigenen Deklarationsdateien bereitstellen (da sie nicht mit TypeScript entwickelt wurden und nicht darauf ausgelegt sind, damit zu funktionieren). Es enthält also Deklarationsdateien, die von der Community gepflegt werden.

Durch die Verwendung von DefinitelyTyped und den darin enthaltenen Deklarationsdateien können Sie die meisten der beliebten JavaScript-Bibliotheken so verwenden, als wären sie TypeScript-Bibliotheken, im Sinne davon, dass Sie eine Typüberprüfung durch den Compiler haben (wie die Deklarationsdatei angibt). Da DefinitelyTyped außerdem so beliebt ist, wird es von der Community kuratiert, um gültige Deklarationsdateien zu enthalten (obwohl Webentwicklung etwas ist, das sich sehr schnell verändert, können Sie am Ende ein paar Probleme finden, besonders in obskuren Bibliotheken).

Antwort #2

Die obige Beschreibung ist ziemlich klar, jedoch, wenn Sie wie ich sind, könnte der unten stehende Code Ihnen vielleicht helfen, das große Ganze zu sehen.

Zum Beispiel haben Sie das lodash-Paket in Ihrem Projekt, Sie importieren und verwenden eine Methode davon.

import random from 'lodash/random';

const result = random(????);

Sie könnten anhalten und sich fragen, wie viele Parameter diese Methode benötigen könnte und welche Art von Daten für jeden Parameter erforderlich ist. Sie müssen die lodash-Homepage durchsuchen, die API-Dokumentation von random finden, um zu wissen, wie man sie verwendet. Nach einer Reihe von Aufgaben könnten Sie am Ende die Reihenfolge der Parameter falsch angeben, aber nichts wird angezeigt, bis Sie Ihre App ausführen und den Fehler erhalten.

Hier zeigt DefinitelyType seine Stärke. Nach der Installation des DefinitelyType von lodash

yarn add @types/lodash
  • Wenn Sie beginnen, die random-Methode zu tippen, wird ein Tooltip angezeigt, der Ihnen zeigt, wie Sie die Parameter verwenden.
  • Wenn Sie einen falschen Datentyp von Parametern angeben, wird der Fehler angezeigt, um Sie darauf hinzuweisen und ihn sofort zu beheben.

Es ist erwähnenswert, dass die oben genannten zwei Punkte automatisch passieren werden, nachdem Sie das Paket installiert haben.

Ergibt das Sinn? Wenn nicht, keine Sorge, mach die Musik aus und sieh dir dieses Video an, ich bin sicher, du wirst es verstehen.

Verwandte Artikel