ホームページ ウェブフロントエンド jsチュートリアル TypeScript: TSConfig オプションの使用を開始する

TypeScript: TSConfig オプションの使用を開始する

Jan 13, 2025 pm 02:30 PM

TypeScriptとは何ですか?

TypeScript は JavaScript のスーパーセットです。これは、TypeScript で JavaScript 構文を使用できることを意味するため、TypeScript を始める前に JavaScript を学習することが最善です。この免責事項を踏まえて、TypeScript とは何なのか、また TypeScript 用のプロジェクトをセットアップする方法について話しましょう。

TypeScript のドキュメントによると、「TypeScript は、JavaScript をベースに構築された、厳密に型指定されたプログラミング言語です。」[1] TypeScript 言語は、開発中の早期にエラーを発見するのに役立つ型構文を追加し、開発チームが成長する間も安全策を維持します。プロジェクトの規模が拡大するにつれて。 TypeScript を使用すると、変数のデータ型とオブジェクトのインターフェイスを定義できます。 TypeScript はこれらの定義を使用して、コンパイル時にコードにエラーがないかチェックし、事前に設定した定義に従っていない場合は通知します。

「そもそも、もっと慎重にできるのに、TypeScript を使用するためだけに、なぜさらにコードを記述する必要があるのでしょうか?」と考えている方は、あなたは間違っていませんが、人間は間違いを犯す可能性があり、長時間作業すると間違いを犯すことがよくあります。これと同じ考えを建設に適用すると、追加の足場と安全手順により、より多くの労力と時間がかかることになりますが、作業現場で注意を払うだけで時間を節約できます。

TypeScript: Getting Started With TSConfig Options

わかりますか?この屋根職人は時間を節約するために、より多くの時間とリソースを無駄にした可能性があります。これはただの一人の労働者です。さらに多くのチームメンバーが追加され、プロジェクトに取り組んでいる作業員のチームを想像してください。これがソフトウェア開発の現実です。こうした間違いを見つける計画を立てることは、長期的にはあなたとあなたのチームに役立ちます。

TypeScript の例

次の例は TypeScript ドキュメント [2] から引用していますが、解説は私によるものです。

TypeScript:

function greet(person, date) {
  console.log(`Hello ${person}, today is ${date}!`);
}

greet("Brendan");
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

TypeScript は、greet が呼び出されたときにエラーをキャッチします。 2 つの引数 (person と date) を受け取るように挨拶を定義し、person のみを指定しました。 TypeScript はコードをコンパイルするときにこのエラーを捕捉し、2 番目の引数が必要であることを通知します。ある意味では、TypeScript はコードが作業中にこれらのエラーをキャッチするためのリンターと考えることができますが、型構文を活用してさらに支援することもできます。

function greet(person: string, date: Date) {
  console.log(`Hello ${person}, today is ${date.toDateString()}!`);
}

greet("Maddison", Date());
ログイン後にコピー
ログイン後にコピー

ここで、2 つの引数に型を追加します。toDateString メソッドの person は文字列、date は Date オブジェクトである必要があります。 2 番目の引数 Date() の前にキーワード new を指定せずにgreet を呼び出すと、TypeScript は日付パラメータとして Date の代わりに文字列を受け取ったことを通知します。これで、テスト中に予期しない出力を受け取ったときに、さらに開発を進めてこのエラーを追跡する前に、エラーを修正できます。

TypeScript の動作を確認したので、それを使用するようにプロジェクトを設定する次の手順を見てみましょう。

TypeScript のコンパイラーの構成: tsconfig.json

デフォルトの TypeScript コンパイルはあなたが探しているものではないかもしれません。リンターを使用するのと同様に、ニーズに合わせて TypeScript をカスタマイズする方法もありますが、それ以外にも多くのことができます。

最初のステップは、プロジェクトのルート ディレクトリに tsconfig.json ファイルを作成することです。このファイルは、コンパイル プロセスにどのファイルを含めるべきかを TypeScript に指示します。 tsconfig.json では、JSON ファイルの「includes」キーを使用して、より具体的にしたい場合に含めるディレクトリをルートから指定できます。

function greet(person, date) {
  console.log(`Hello ${person}, today is ${date}!`);
}

greet("Brendan");
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

ここで、「compilerOptions」について話しましょう。選択肢はたくさんあるということを信じてください。これは良いことですが、TypeScript を初めて使用する場合には恐ろしいことでもあります。始めるのに役立つ、人気のある選択肢をいくつか詳しく説明します。

allowJs

function greet(person: string, date: Date) {
  console.log(`Hello ${person}, today is ${date.toDateString()}!`);
}

greet("Maddison", Date());
ログイン後にコピー
ログイン後にコピー

このオプションを使用すると、TypeScript だけでなく JavaScript ファイルをプロジェクト内にインポートできるようになります。通常、TypeScript はすべてのインポートが TypeScript であると想定しており、インポートされた JavaScript ファイルに対してエラーが発生しますが、このオプションを使用すると、それらのインポートを使用できるため、同じリポジトリ内で TypeScript と JavaScript を操作するときに役立ちます。

esモジュール相互運用性

{
  "include": ["src/**/*"]
}
ログイン後にコピー

ES6 の名前空間インポートはオブジェクトのみですが、これは .default なしで require を使用するのと同じであるため、TypeScript がオブジェクトを関数として扱うことを許可しました。このオプションを使用すると、インポートに注意する必要がなく、TypeScript がコードを JavaScript にトランスパイルするときにこの問題が解決されます。

ターゲット

{
  "compilerOptions": {
    "allowJs": true
  }
}
ログイン後にコピー

このオプションは、TypeScript がコードを JavaScript にトランスパイルするときに、どの JS 機能がダウングレードされ、どの機能がそのまま残されるかを変更します。最近のほとんどのブラウザは ES6 をサポートしているため、es6 が適切な選択ですが、ニーズに合わせてこのオプションに任意のバージョンの ECMAScript を指定できます。

厳しい

{
  "compilerOptions": {
    "esModuleInterop": true
  }
}
ログイン後にコピー

このフラグは、さまざまな型チェック動作を有効にします。これにより、エラーが少なく、より強力なコードベースが得られます。特定の型チェック動作を除外したい場合は、ドキュメント [3] を確認し、そのオプションを false に設定してください。いくつかの型チェック動作のみが必要な場合は、strict を使用する代わりにそれらをオンにすることを検討します。

アウトディレクトリ

{
  "compilerOptions": {
    "target": "es6"
  }
}
ログイン後にコピー

TypeScript がコードを使用可能な JavaScript にトランスパイルするとき、このオプションはそれらのファイルをこのディレクトリに出力します。

noEmit

function greet(person, date) {
  console.log(`Hello ${person}, today is ${date}!`);
}

greet("Brendan");
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

このオプションは、トランスパイルされたすべての JavaScript ファイルの出力を停止します。 outDir について話したばかりなので、これはばかげているように聞こえるかもしれませんが、TypeScript は常にファイルを出力し、outDir はファイルを正しい場所に誘導します。 noEmit は、コードをトランスパイルしてバンドルするために Babel や Webpack などの別のツールをすでに使用している場合に機能します。この場合の発行は、役に立たない JavaScript ファイルを作成することを意味します。

結論

これで完了です。これらは、TypeScript の構成をセットアップするのに役立つ 7 つのオプションと、より安定したコード ベースの作成に TypeScript がどのように役立つかです。 tsconfig.json に追加する一般的なオプションについては、Matt Pocock の「TSConfig Cheat Sheet」を読んで、これらのオプションを実装する前に必ず TSConfig の TypeScript ドキュメントを参照することをお勧めします。

コーディングを楽しんでください!
タイラー・マイヤー

出典:

[1] https://www.typescriptlang.org/

[2] https://www.typescriptlang.org/docs/handbook/2/basic-types.html

[3] https://www.typescriptlang.org/tsconfig/

[4] https://www.totaltypescript.com/tsconfig-cheat-sheet

以上がTypeScript: TSConfig オプションの使用を開始するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Python vs. JavaScript:学習曲線と使いやすさ Python vs. JavaScript:学習曲線と使いやすさ Apr 16, 2025 am 12:12 AM

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

JavaScriptとWeb:コア機能とユースケース JavaScriptとWeb:コア機能とユースケース Apr 18, 2025 am 12:19 AM

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

JavaScript in Action:実際の例とプロジェクト JavaScript in Action:実際の例とプロジェクト Apr 19, 2025 am 12:13 AM

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

JavaScriptエンジンの理解:実装の詳細 JavaScriptエンジンの理解:実装の詳細 Apr 17, 2025 am 12:05 AM

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

Python vs. JavaScript:コミュニティ、ライブラリ、リソース Python vs. JavaScript:コミュニティ、ライブラリ、リソース Apr 15, 2025 am 12:16 AM

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

Python vs. JavaScript:開発環境とツール Python vs. JavaScript:開発環境とツール Apr 26, 2025 am 12:09 AM

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

JavaScript通訳者とコンパイラにおけるC/Cの役割 JavaScript通訳者とコンパイラにおけるC/Cの役割 Apr 20, 2025 am 12:01 AM

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

Python vs. JavaScript:ユースケースとアプリケーションと比較されます Python vs. JavaScript:ユースケースとアプリケーションと比較されます Apr 21, 2025 am 12:01 AM

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。

See all articles