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

推薦する

.art ドメイン名の登録は高価ですか?

「なぜドメイン名はこんなに高いのか」という問題について議論しているネットユーザーを見かけたことがあり...

オペレーションの仕事内容は何ですか? (オペレーションとは具体的に何をするのでしょうか?)

オペレーションとは具体的に何を行うのでしょうか?工場から出てきたばかりの労働者が人事部に尋ねました。...

預金・貸出一体化マーケティング計画(中国農業開発銀行雲南支部青年団委員会が第2回「預金・貸出一体化」マーケティング事例共有活動を組織)

中国農業開発銀行雲南支部青年団委員会が第2回「預金と融資の統合」マーケティング事例共有イベントを開催...

医療ブランド企画会社(病院がブランドマーケティングをアウトソーシングし、コストを10倍削減)

病院はブランドマーケティングをアウトソーシングし、コストを10倍節約近年、医療業界の競争が激化してい...

国際家電ブランドランキング(世界第1位の家電企業:年間売上高約1兆6,800億元、ソニーやLGエレクトロニクスを大きく上回る)

世界最大の家電メーカー:年間売上高約1兆6800億元、ソニーやLGエレクトロニクスを大きく上回る世界...

ビッグデータ運用業務概要(オンライン貨物プラットフォーム運用概要)

オンライン貨物プラットフォームの運営概要オンライン貨物輸送は標準化され、健全かつ秩序ある発展を続け、...

ビジネス分析の内容と方法(財務ビジネス分析シリーズにおけるビジネス分析で用いられる4つの方法)

財務およびビジネス分析シリーズ: ビジネス分析で使用される 4 つの方法財務・業務分析の過程では、さ...

ネットワーク運用の主な仕事内容(ネットワークエンジニアは主に何をするの?仕事は見つかりやすい?)

ネットワークエンジニアは主に何をするのでしょうか?仕事を見つけるのは簡単ですか?先ほど、Huawei...

公共データ認可運用に基づくデータ流通構築に関する白書(公共データ認可運用メカニズムの構築)

公開データ認証運用メカニズムを確立する原題: 公開データ認証運用メカニズムの構築国家データ管理局と他...

Win10 システムで IIS マネージャーを開く方法

IIS マネージャーを開くにはどうすればいいですか? IIS (インターネット インフォメーション ...

店舗プロモーションまとめ(1688店舗を効果的にプロモーションするには?16年の実績を持つ運営会社がプロモーションプロセスをまとめます!)

1688店舗を効果的に宣伝するには? 16年の実績を誇る運営会社がプロモーションプロセスを総まとめ...

WordPress ウェブサイトのロゴを変換するチュートリアル

ロゴはブランドアイデンティティの不可欠な部分です。これらは、オンラインでもオフラインでも、どこでもビ...

優れた製品プロモーションコピーライティング(マーケティングコピーライティング優れた製品の共有#賢い生活)

マーケティング コピーライティング 共有すべき良いこと #WisdomLifeマーケティングコピーラ...

労働ブランドの推進(人材の能力を最大限に発揮できるよう、労働ブランドの認知度向上を図る)

人材の才能を最大限に活かすために、有名な労働サービスブランドを構築する最近、人力資源・社会保障部弁公...

精密ブランドマーケティングプロモーション(ユーチェンブランドフルケース)

ユーチェンブランドフルケースインターネットの発達と情報の氾濫により、従来の製造企業は、ブランド情報...