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 タイプに関連しています。

推薦する

WeChatミニプログラム抽選コンポーネントの使い方

WeChatコンポーネントの形式で提供されます。コンポーネント内部ではasync/awaitが使用さ...

ページングクリックコントロールを実装するネイティブJS

これは、ネイティブJSを使用してページングクリックコントロールを実装する必要がある面接の質問です。参...

MySQLの重複排除操作を極限まで最適化する方法

目次1. インデックスと変数の賢い使用1. インデックスなしの比較テスト2. created_tim...

jsは配列の平坦化を実装します

目次配列をフラット化する方法1.flat() の使用2. 正規表現を使用する3.reduce()+c...

CSSを使用して炎の効果を作成する方法

本文は以下から始まります。 123WORDPRESS.COM ダウンロード:純粋な CSS3 で超リ...

Windows 10 での Tomcat のインストールと展開に関する詳細なチュートリアル

目次1 Java環境の設定2 tomcatのインストールと展開Tomcat をインストールして展開す...

全文検索とキーワードスコアリング方式のMySQL実装例

1. はじめに今日、同僚から、MySQL を使用して ElasticSearch に似た全文検索機能...

HTML Web ページ リスト タグ学習チュートリアル

HTML Web ページ リスト タグの学習チュートリアル。 HTML ページでは、リストはアウトラ...

ウェブデザインの達人がよく使うレスポンシブフレームワークを共有する(要約)

この記事では、Web デザインの達人がよく使用するレスポンシブ フレームワーク (概要) を紹介し、...

フロントエンド開発に必要な共通ツール機能のまとめ

1. 時刻の書式設定とその他の方法moment.jsライブラリファイルの使用をお勧めします2. テン...

JSはクリックドロップ効果を実装します

jsはクリックとドロップの特殊効果を実現します。まずは効果画像を見てみましょうさっそく始めましょう。...

Vue で Excel インポート機能を実装する詳細な手順

1. フロントエンド主導の実装手順最初のステップは、ページのインポートボタンをクリックしてExcel...

角度コンテンツ投影の詳細な説明

目次単一コンテンツ投影マルチコンテンツ投影単一条件のコンテンツ投影アプリ-人物-htmlアプリ担当者...

初心者向けに Docker に Jenkins をインストールする方法を詳しく説明したチュートリアル

Jenkins はオープンソース ソフトウェア プロジェクトです。Java をベースに開発された継続...

データ構造 - ツリー (III): 多方向検索ツリー B ツリー、B+ ツリー

多方向探索ツリー完全二分木の高さ: O(log2N)、ここで2は対数完全なM方向探索木の高さ: O(...