web-dev-qa-db-ja.com

「DefinitelyTyped」とは何ですか?

"DefinitelyTyped"はTypeScript/JavaScript開発に関連するものだと思いますが、その使用法やコードサンプルを理解できなかったため、理解できませんでした。

http://definitelytyped.org/http://bartvds.github.io/projects/dt.html を確認しましたが、よく理解できませんでした。

ポインタ、記事、コードサンプルは大歓迎です。

33
Venkatesh

TypeScriptを使用すると、 宣言ファイル が、(たとえば)プレーンJavaScriptで記述されたコードの 形状を説明できるようにする のファイルを作成できます。したがって、これらのファイルの1つを参照することにより、使用しているJavaScriptコードまたはライブラリが「型付けされている」と見なされる方法をTypeScriptに正確に指示します。もちろん、これは宣言ファイルを注意深く記述し、使用しているJavaScriptライブラリと同期させる必要があることを意味します。

DefinitelyTypedは、多くのJavaScriptライブラリで最も人気のある宣言ファイルのリポジトリです。そのほとんどは独自の宣言ファイルを提供しません(TypeScriptで開発されておらず、動作するようにコミットされていないため)。したがって、コミュニティが管理する宣言ファイルを保持します。

DefinitelyTypedとそれに含まれる宣言ファイルを使用することで、コンパイラによる型検証がある(宣言ファイルが示すように)という意味で、ほとんどの一般的なJavaScriptライブラリをTypeScriptライブラリであるかのように使用できます。また、非常に人気があるため、DefinitelyTypedはコミュニティによってキュレーションされ、有効な宣言ファイルが含まれます(ただし、Web開発は非常に高速で行われるため、不明瞭なライブラリで特にいくつかの問題が発生する可能性があります)。

51
Fredy Treboux

上記の説明は非常に明確ですが、私のような場合は、以下のコードで全体像をつかむことができます。

たとえば、プロジェクトにlodashパッケージがあり、そのメソッドをインポートして使用します。

import random from 'lodash/random';

const result = random(????);

このメソッドが必要とする可能性のあるパラメータの数を停止して不思議に思うかもしれません。各パラメータのデータはどのようなものですか? lodashホームページを検索し、その使用方法を知るにはrandomのAPIドキュメントを見つける必要があります。一連のタスクを実行した後、パラメーターの順序が間違って提供される可能性がありますが、アプリを実行してエラーが発生するまで何も表示されません。

これがDefinitelyTypeがその力を示す場所です。 LodashのDefinitelyTypeをインストールした後

yarn add @types/lodash
  • randomメソッドの入力を開始すると、ツールチップが表示され、パラメーターの使用方法がガイドされます。
  • 間違ったデータ型のパラメーターを指定すると、すぐに通知して修正するためにエラーが表示されます。

それは意味がありますか?そうでない場合でも、心配しないで、音楽をオフにしてこれを聞いてください video 、きっとあなたはそれを理解するでしょう。

12
Tatsu