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

推薦する

おすすめの対外貿易越境電子商取引プラットフォームトップ10

グローバル化の加速に伴い、越境電子商取引プラットフォームは多くの企業にとって国際市場に進出するための...

運用能力分析コンテンツ(運用能力指標分析)

運転能力指標の分析運転能力比率は、企業の資産管理の効率を測る財務比率です。主に6つのカテゴリーに分か...

ペーパーブランドプランニング(「国民的トレンド」としての文化的自信をよりよく示す方法)ペーパーへの注目度が高まっている

「国民の潮流」が注目される中、文化的自信をよりよく示す方法今年5月、北京の三里屯で「有建国潮閣」が...

サービスブランド企画会社(常州尚華広告会社:高級ブランドイメージデザインサービスが対外貿易会社の競争優位性獲得に貢献)

常州尚華広告会社:高級ブランドイメージデザインサービスが対外貿易企業の競争優位性獲得に貢献出典:常州...

貨物マーケティング計画(オンライン電子商取引ショートビデオライブ放送貨物活動マーケティングプロモーション計画実行SOPプロセス計画表)

オンライン電子商取引ショートビデオライブストリーミングマーケティングプロモーション計画と実行SOPプ...

弁護士促進計画(広東省は質の高い対外関係法律建設を推進)

広東省は高品質の対外関係法律建設を推進「海外で展示会を開く際、広東省の弁護士が同行するとは思っていま...

GeoTrust SSL 証明書にバインドされたプライマリドメイン名を変更する方法

GeoTust は世界第 2 位のデジタル認証局 (CA) であり、あらゆる規模の企業にコスト効率の...

2025年に失業手当を受給するための条件と基準を完全ガイド。これを読めば迷わない!

今日は、2025年の失業手当について詳しく説明します。そうすれば、皆さんはそれをはっきりと理解し、二...

情報フロー広告代理店(年間20万元稼ぐのは難しい?誰でも始められるプロジェクトを共有)

年間20万元稼ぐのは難しいですか?誰でも始められるプロジェクトを共有する01年間20万元稼ぐってどん...

ブランドマーケティング戦略(企業のブランドマーケティング戦略をどのように形成するか)

企業ブランドマーケティング戦略をどう形作るか#企業ブランドマーケティング戦略をどう形作るか?#企業ブ...

電子商取引のマーケティングプロモーション手法(経験:電子商取引プラットフォーム上でプロモーション活動をどのように実施するか?)

経験談:電子商取引プラットフォームでプロモーション活動を行うにはどうすればいいでしょうか?電子商取...

まったく新しい小売マーケティング モデル (急速に変化する消費財サプライ チェーンにおける新しい小売モデルと消費者体験の最適化の探求)

FMCGサプライチェーンにおける新たな小売モデルの探求と消費者体験の最適化今日のビジネス環境におい...

2023 年にウェブサイトを宣伝する 15 の簡単で効果的な (そして無料の) 方法

2023 年にウェブサイトを宣伝する 15 の簡単で効果的な (そして無料の) 方法これは無料で効...

電子商取引の運営には何が含まれますか? (Ant Villageの今日の答え:農産物の電子商取引事業には次のどれが含まれますか?)

蟻の村今日の答え:農産物電子商取引運営の業務に含まれるのは次のどれですか? #蟻の村今日の答え# #...