TypeScript データ型とは何ですか? TypeScript 基本データ型の紹介

TypeScript データ型とは何ですか? TypeScript 基本データ型の紹介

TypeScipt データ型とは何ですか? TypeScipt は、Microsoft が開発したオープンソース プログラミング言語であり、JScipt に基づいて静的型定義を追加して構築されています。 TypeScipt は JScipt とほぼ同じデータ型をサポートし、利便性のために実用的な列挙型も提供します。この記事では、TypeScipt の基本的なデータ型について簡単に説明します。

さらに読む: 「TypeScipt と JScipt のどちらが優れているか? TypeScipt と JScipt の違い」

ブール型 (boolen) tue / flse

最も基本的なデータ型は単純な true/false 値で、JScipt および TypeScipt (他の言語と同様に) では bool と呼ばれます。

isDone: bool en = flse とします

isDone = tue // 正しい書き方

isDone = 2 // 間違った書き方

数値型 (number)

JScipt と同様に、TypeScipt 内のすべての数値は浮動小数点数です。 これらの浮動小数点数は numbe 型です。 TypeScipt は、10 進数と 16 進数のリテラルをサポートするだけでなく、ECMAScipt 205 で導入された 2 進数と 8 進数のリテラルもサポートします。

decLitel: numbe = 6 とします。hexLitel : numbe = 0xf00d とします。binyLitel : numbe = 0b00 とします。octlLitel : numbe = 0o744 とします。

文字列型(ストリング)

JScipt プログラムのもう 1 つの基本的な操作は、Web ページまたはサーバー上のテキスト データを処理することです。 他の言語と同様に、テキスト データ型を表すには sting を使用します。 JScipt と同様に、文字列を表すには二重引用符 (̶) または一重引用符 (̻) を使用できます。

let nme st: sting = “jck̶

nme = "スミス

複数行のテキストや埋め込み式を定義できるテンプレート文字列を使用することもできます。 このような文字列はバックティック (`) で囲まれ、${ unme } 形式の埋め込み式が含まれます。

let unme: sting = `Gene` let sentence: sting = `こんにちは、私の名前は ${ unme } です`

配列型 (y)

TypeScipt は JScipt と同様に配列要素を操作できます。 配列を定義する方法は 2 つあります。最初の型を要素型の後に追加して、この型の要素の配列を示すことができます。

let list: numbe = [, 2, 3]; //ここには数字のみ入力できますlet list: sting = [̺ed̻, ̺blue̻, ̺yellow̻]; //ここには文字列のみ入力できます

2 番目の方法は、配列ジェネリック Ay<要素型> を使用することです。

let list: Ay<numbe> = [, 2, 3]; //ここには数字しか書けませんlet list: Ay<sting> = [̺ed̻, ̺blue̻, ̺yellow̻]; //ここには文字列しか書けません

タプル型

タプル型を使用すると、要素の数と型が既知の配列を表すことができます。要素は同じ型である必要はありません。 たとえば、値がそれぞれ sting 型と numbe 型であるタプルのペアを定義できます。

let x: [sting, numbe]; x = [̺hello̻, 0] //正しい書き方x = [0, ̺hello̻] //間違った書き方

公式ドキュメントにはいくつかの拡張機能が記載されています: 既知のインデックスを持つ要素にアクセスすると、正しい型が取得されます

console.log(x[0].subst()); // OK console.log(x.subst()); // Eo、̺numbe̻は̺subst̻ではありません

範囲外の要素にアクセスする場合は、代わりにユニオン型が使用されます。

x[3] = ̺wold̻; // OK、文字列は (sting | numbe) 型に代入可能ですconsole.log(x[5].toSting()); // OK、̺sting̻ と ̺numbe̻ は両方とも toSting を持ちますx[6] = tue; // Eo、bool は (sting | numbe) 型ではありません

列挙型 (enum)

enum 型は、JScipt 標準データ型の補足です。 C# や他の言語と同様に、列挙型を使用して値のセットにわかりやすい名前を付けることができます。

列挙型カラー {赤、緑、青}

let c: Colo = Colo.Geen; //出力値は

デフォルトでは、要素は 0 から番号が付けられます。 メンバー値を手動で指定することもできます。 たとえば、上記の例を変更して番号付けを開始します。

enum Colo {Red = , Geen, Blue} let c: Colo = Colo.Geen; //出力値は2です

前の割り当ての後に値が続かない場合は、後続の割り当ては前の割り当てに基づいて行われ、その後に + が続きます。または、すべての値を手動で割り当てます。

enum Colo {Red = 、Geen = 2、Blue = 4}とします。c: Colo = Colo.Geen;

あらゆるタイプ(ny)

場合によっては、プログラミング段階で型がまだ明確でない変数に型を割り当てたいことがあります。 これらの値は、ユーザー入力やサードパーティのコード ライブラリなどの動的コンテンツから取得される場合があります。 この場合、型チェッカーでこれらの値をチェックするのではなく、コンパイルフェーズを直接通過させるようにします。 次に、ny 型を使用してこれらの変数をマークできます。

let notSue: ny = 4; notSue = “mybe sting insted—; notSue = flse; // oky、間違いなくブール値

ny 型は、データの一部の型のみがわかっている場合にも便利です。 たとえば、異なるタイプのデータを含む配列があるとします。

list: ny = [, tue, “fee̶]; list = 00;とします。

OID タイプ

ある意味では、oid タイプは ny タイプの反対のようなもので、どのタイプも存在しないことを表します。 関数が値を返さない場合、戻り値の型は oid になることがよくあります。

function wnUse(): oid { let(“これが私の勝利のメッセージです̶); }

戻る場合は、返された対応するデータに基づいて選択を行います。

関数 wnUse(): 数値 { etun 23 }

oid 型の変数を宣言するのはあまり役に立ちません。undefined と null しか割り当てられないからです。

使用不可にします: oid = undefined;

null および未定義の型

TypeScipt では、 undefined と null にはそれぞれ undefined と null と呼ばれる独自の型があります。 oid と同様に、それらの型自体はあまり役に立ちません。

u: undefined = undefined とします。n : null = null とします。

デフォルトでは、null と undefined はすべての型のサブタイプです。 つまり、numbe 型の変数に null と undefined を割り当てることができます。ただし、RstictNullChecks フラグを指定すると、oid とそれぞれの値にのみ null と undefined を割り当てることができます。 これにより、多くの一般的な問題を回避できます。 どこかに sting または null または undefined を渡したい場合は、ユニオン型 sting | null | undefined を使用できます。

旧タイプ

nee 型は、決して存在しない値の型を表します。 たとえば、nee 型は、常に例外をスローするか、値をまったく返さない関数式または矢印関数式の戻り値の型です。また、決して真にならない型ガードによって制約されている変数も、nee 型になることがあります。

nee 型は任意の型のサブタイプであり、任意の型に割り当てることができます。ただし、nee のサブタイプや割り当て可能な型はありません (nee 自体を除く)。 ny を nee に割り当てることもできません。新しい型を返す関数をいくつか示します。

// nee を返す関数は到達不可能なエンドポイントを持つ必要がありますfunction eo(messge: sting): nee { thow new Eo(messge); }

// 推論される戻り値の型は nee ですfunction fil() { return (“Something filed̶); }

// neeを返す関数は到達不可能なエンドポイントを持つ必要がありますfunction infiniteLoop(): nee { while (tue) { } }

<<:  Magento ウェブサイトでメンテナンス モードを有効にする方法

>>:  WooCommerce アカウントのオプション設定に関するチュートリアル

推薦する

企業運営の仕組みには何が含まれているか(企業管理システム、仕組みとシステムの関係)

企業経営システム、メカニズムとシステムの関係企業経営におけるシステム、仕組み、制度の関係。システムと...

太陽光発電推進計画(【豆知識】「パワーバンク」を装備!上海初のグリーン・低炭素高速道路サービスエリアが完成、運用開始)

【ヒント】「パワーバンク」を設置しよう!上海初のグリーン低炭素高速道路サービスエリアが完成し、運用...

WordPress テーマ フォルダはどこにありますか? WordPressテーマフォルダの保存パス

WodPess テーマ フォルダーはどこにありますか? WodPess ウェブサイトを構築する場合、...

海外サーバー向けCDN高速化技術のメリットとデメリット

ウェブサイトを構築する際、ウェブマスターはより高速なサーバーを好みます。ただし、ウェブサイトの要件な...

Jimdo: オンラインウェブページ作成ツール

Jimdo は、ドイツのハンブルク発の Web デザイン ツールです。世界 10 か国で 2,000...

.MX ドメインを購入する価値はありますか?

.mx ドメイン名は、メキシコの汎用トップレベル ドメイン名です。中国語の意味からすると、ドメイン名...

電子商取引 Web サイトにはどの SSL 証明書がより適していますか?

ウェブサイトのセキュリティは、https セキュリティ プロトコルと切り離せません。https 暗号...

cPanelを使用してMySQLデータベースを作成する方法

MySQL データベースは、多くの Web サイトやアプリケーションのコア コンポーネントの 1 つ...

ウェイディアンの売上データ(過去数年間でウェイディアンはどのようにして徐々に衰退していったのか?)

わずか数年で、Weidian はどのようにして徐々にその地位から転落していったのでしょうか? 36...

ブランドプロモーションの拡大(雲光科技:ブランドと市場のプロモーションを強化するために宣伝活動を強化する予定)

CloudWalk Technology:ブランドと市場のプロモーションを強化するために宣伝活動を...

ユーザー操作モデル(容量向上:共通ユーザー操作モデル6つ)

キャパシティ向上: ユーザー操作でよく使われる 6 つのモデル本日は、ユーザー操作プロセスで最もよく...

製品プロモーション戦略(効果的なマーケティングは、これら 4 つの戦略を理解することから生まれます)

効果的なマーケティングは、これら4つの戦略を理解することから生まれますマーケティング効果を高めるとい...

Baota パネルのインストールと設定 Nginx グラフィック チュートリアル

Baota Panel は、LAMP/LNMP、Web サイト、データベースなどのワンクリック構成を...

Shopifyについてはどうですか? Shopifyは良いプラットフォームですか?

ショッピファイグローバルマーチャントとブランドの海外進出の多様なニーズを満たすSSプラットフォームで...

データ操作ビッグデータ(中国の「データ要素×」生態会議「データ要素と産業エンパワーメント」会議開催)

中国「データ要素×」エコロジー会議「データ要素と産業エンパワーメント」会議が開催されました6月30日...