TypeScript とは何ですか?

TypeScript とは何ですか?

序文:

TypeScriptは、純粋なJavaScriptコードにコンパイルされるJavaScriptのスーパーセットです。

では、なぜTypeScript言語が登場したのでしょうか。主な理由は、JavaScript で多くの複雑なプロジェクトを開発できるようになったものの、JavaScript には信頼性が欠けているためです。JavaScript を使用する場合、コードの堅牢性を判断するために多くのビジネス ロジックを追加する必要があります。

TypeScript 、ブラウザ環境、Node.js 環境、またはECMAScript3以上のJavaScriptエンジンで実行できます。

1. JavaScriptの問題

JavaScript の主な問題は次のとおりです。

JavaScriptタイプの例外は実行時にのみ検出されます。

JavaScript関数の型があいまいなため、関数の最終的な機能に問題が発生する可能性があります。

次のように:

関数 sum(x, y){
  x + yを返す
}
合計(100, '100') // 100100


2. TypeScriptの利点

  • JavaScript動的型付けプログラミング言語です。いわゆる動的型とは、数値か文字列かを問わず、そのデータ型がコンパイル時に判明することを意味します。TypeScript TypeScript静的型付けプログラミング言語です。いわゆる静的型とは、書き込み時にデータ型が判明することを意味します。
数値を6とします。


変数num 、最初から最後までnumber型のみにすることができます。文字列が割り当てられると、例外がスローされます。

したがって、TypeScript の利点は次のとおりです。

  • 開発プロセス中にエラーを特定できるため、エラーの確認が容易になります。
  • TypeScriptはプログレッシブプログラミング言語です。構文がわからなくても、 JavaScriptと同じように使用できます。
  • これにより、開発プロセス中の不要な型チェックが削減されます。
  • 静的に型付けされたコードヒントは、静的に型付けされたコードヒントよりも優れています。
  • プロジェクトをリファクタリングするときに簡単になります。
  • 静的に型付けされたコードは、動的に型付けされたコードよりも意味がわかりやすく、読みやすいです。

3. TypeScriptの欠点

TypeScriptには利点ばかりではなく、欠点もありません。欠点は JavaScript と比較したものです。

詳細は以下の通りです。

  • JavaScriptと比較すると、TypeScript 自体に多くの概念が追加されています。たとえば、ジェネリックやインターフェースなどの概念です。
  • 開発に TypeScript を使用すると、短期的にはコストが増加しますが、長期的なメンテナンスが必要なプロジェクトの場合、 TypeScriptとメンテナンス コストを削減できます。
  • 一部のライブラリとは完全に統合されない可能性があります。

4. TypeScriptの動作環境

TypeScript Node.js環をベースに実行されるため、まず Node.js をインストールする必要があります。

Node.jsをインストールし、その他の操作を無視する

TypeScript をインストールするコマンドは次のとおりです。

npm インストール -g [email protected]


ここでは@でバージョン番号を指定しますが、バージョン番号を指定しないこともできます。

TypeScriptをインストールした後、 ts-nodeツールもインストールする必要があります。このツールをインストールすると、TS コードを直接実行できなくなります。実行する前に、TS コードを JavaScript にコンパイルする必要があります。

実行フローは以下のとおりです。

# TSコードをコンパイルする tsc demo.ts 
# コンパイル後、demo.jsファイルが作成され、それを実行できます。

node-tsツールをインストールすると、TS コードを直接実行できます。

具体的な手順は次のとおりです。

# 1. グローバルインストール npm install -g [email protected]
# 2. コードts-node demo.tsを実行します


インストール後のディレクトリは環境変数に含まれている必要があることに注意してください。そうでない場合はエラーが報告されます。

5. 範囲の問題

プロジェクト内の ts ファイルを実行するときに、異なるファイルに同じ変数名が存在すると、例外がスローされます。

サンプルコードは次のとおりです。

アット

str: 文字列 = 'Hello World' とします

b.ts

let str: string = '一碗の周'

この時、ブロックスコープ変数「str」は再宣言できないという例外が発生します。エディタがVScodeの場合は、変数名の上にマウスを乗せるとプロンプトが表示されます。

この問題を解決するには 2 つの方法があります。1 つ目は、各ファイルに個別のスコープを持たせるために、各ファイルに対して即時実行される関数 (匿名関数) を作成することです。

サンプルコードは次のとおりです。

(関数() {
  let str: string = '一碗の周'
}){}


2 番目の方法は、エクスポートを使用して現在のファイルをモジュールとしてエクスポートすることです。サンプルコードは次のとおりです。

let str: string = '一碗の周'

輸出 {}

TypeScript とは何かについての記事はこれで終わりです。TypeScript に関するその他のコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • TypeScriptの列挙型を詳しく説明する
  • 1つの記事でTypeScriptのデータ型について学ぶ
  • TypeScript 型推論
  • TypeScript 基本データ型
  • TypeScript の基本型の紹介

<<:  MySQL ツリー構造データベース テーブル設計

>>:  ウェブサイト上で flv/MP4 やその他のビデオ ファイルを再生できない問題は、MIME タイプに関連しています。

推薦する

IDEA2020.1.2 Webプロジェクトの作成とTomcatの設定に関する詳細なチュートリアル

この記事は、IDEA で Web プロジェクトを作成し、Tomcat を構成する方法についての統合記...

ウェブデザインと制作の一般的な原則をまとめる

<br />関連記事: Web コンテンツ ページ作成に関する 9 つの実用的な提案、W...

HTML 画像 img タグ_Powernode Java アカデミー

まとめプロジェクトの説明形式<img src="..."> H2+ ...

CSS の複数行テキストがオーバーフローする場合の省略記号の例

複数行のテキストがオーバーフローすると省略記号が表示されますこの記事では 2 つの方法を推奨します。...

css3 flexレイアウト justify-content:space-between 最後の行は左揃えになります

justify-content:space-betweenレイアウトを使用する場合、要素の最後の行に...

vue3 の setUp とリアクティブ関数の使用方法の詳細な説明

1. いつsetUpを実行するかvue3 ではメソッドを正常に使用できるようになったことは誰もが知っ...

Linuxのテキスト処理コマンドsortの詳細な説明

テキストファイルの内容を並べ替える使用方法: ソート + オプション + ファイル名 (複数のファイ...

xshellを使用してLinuxサーバーに接続する

xshellを使用してLinuxに接続する利点Windows環境でLinuxを直接操作できるインター...

win10 での mysql 8.0.16 winx64 インストールの最新グラフィック チュートリアル

このデータベースをダウンロードするには、多くの時間とトラフィックがかかります。踏み込んだ落とし穴で時...

Linuxパフォーマンス監視コマンドの簡単な紹介

システムでさまざまな IO ボトルネック、メモリ使用量の増加、CPU 使用率の増加などの問題が発生し...

CSS で左上の三角形を作成するいくつかの方法の詳細な説明

今日は、CSS を使用して左上の三角形を記述するいくつかの方法を紹介します。概略図(幅と高さを60p...

CSS を使用して、左側に固定幅、右側に適応幅を持つ 2 列レイアウトを実装する複数の方法

CSS を使用して、左側に固定幅、右側に適応幅を持つ 2 列レイアウトを実装する 7 つの方法。コー...

HTML 要素 noscript の使用の紹介

noscript の定義と使用法noscript 要素は、スクリプトが実行されない場合の代替コンテン...

MySQL DATE_FORMAT関数の使用

タオバオが、ダブル11に最も多くの注文をした2人のユーザー、ユーザー1:「ショッピングの皇帝、陳哈哈...

実務経験7年のフロントエンドスーパーバイザーによる経験共有

今日はベテランの貴重な経験を共有します。著者は技術管理の経験が7年あり、多い時は80人以上を率いてい...