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 アカウントのオプション設定に関するチュートリアル

推薦する

母子新メディア運営計画(母子のセルフメディアを「目立つ」ように運営する方法、これを見てください)

母親と乳児のセルフメディアを「目立つ」ように運用するには?これを見て下さいWeChatをいかにうまく...

ショッピングモール運営の主な業務は何ですか? (ショッピングモールの運営管理についてどのように理解していますか?)

ショッピングモールの運営・管理についてどのようにお考えですか? (WeChatで「商業不動産Y視点」...

情報フロー広告プラットフォームとは何ですか? (情報フロープラットフォームとは何ですか?また、それらの違いは何ですか?)

情報フロープラットフォームとは何ですか?また、それらの違いは何ですか?今日では、情報フロー広告は非常...

お茶のオフラインプロモーション活動((新年の草の根訪問)新しい「スポーツ+」ビジネスモデルを育成し、福建省福定市全体が共同で「お茶BA」を歓迎)

(新年の草の根訪問)新しい「スポーツ+」ビジネスモデルを育成し、福建省福鼎市全体が「茶BA」を歓迎...

ブランドプロモーション会社(企業ブランドプロモーションに適した専門ニュース・ソフト記事プロモーション会社を選ぶには?)

企業ブランドプロモーションに適した専門的なニュースおよびソフトテキストプロモーション会社を選択するに...

人型ロボットの戦場は炎に包まれる!ユー・シュウが「価格破壊者」に

過去 1 年間、ヒューマノイド ロボットや具現化された知能などのトピックが、テクノロジーのホット検索...

ショートビデオのプロモーション戦略と方法(病院の宣伝における新しいメディアのライブ放送とショートビデオの革新的な応用)

病院の宣伝における新しいメディアのライブ放送と短編ビデオの革新的な応用李良傑婁底中心病院情報技術の急...

Ubuntu 20.04 サーバーに Plesk パネルをインストールする方法

Pleskはウェブベースのコントロールパネルです。一般的に、海外の仮想ホストやサーバー(米国の仮想ホ...

自動車製品マーケティング(自動車業界ではショートビデオマーケティングをどのように活用しているのか?「TikTokスタイル」について学ぶ)

自動車業界ではショートビデオマーケティングをどのように活用しているのでしょうか? 「TikTokファ...

スーパーマーケットの売上データ(昨年、全国のコンビニエンスストアの売上は4,248億元に達し、革新と発展の大きな可能性を秘めている)

昨年、全国のコンビニエンスストアの売上高は4248億元に達し、革新と発展の大きな可能性を秘めている。...

データ操作研修(国内初公開データ操作プラットフォーム技術基準が登場!)

国内初となる公開データ運用プラットフォーム技術標準が登場! 2023年11月23日、第2回世界デジタ...

ビジネス分析会議レポートの内容(ビジネス分析会議の開催方法:「3つの露出、3つの回答、3つの焦点、4つのキーポイント」を実現する必要があります)

ビジネス分析会議をどのように実施すればよいですか? 「3つの露出、3つの答え、3つの焦点、4つの鍵」...

SEO ウェブマスター ツール (SEO 担当者に必須のツールとして最初に推奨)

創刊号でおすすめするSEOer必須ツールツールの使い方を学ぶと、SEO を行う場合でも他の作業を行う...