スキップしてメイン コンテンツに移動

Typescriptのis演算子

 TypeScriptにおける`is`演算子は、特定の型であるかどうかを判定し、その型の制約を持った変数を作成するために使用される、カスタムな型ガードを実現するための演算子です。型ガードは、プログラム内で特定の型を確認し、それに基づいてコードを安全に制御するための手段です。


カスタムな型ガードを定義する際に`is`演算子を使用する例を以下に示します。


```typescript

// カスタム型ガードの定義

function isString(value: unknown): value is string {

    return typeof value === "string";

}


function isNumber(value: unknown): value is number {

    return typeof value === "number";

}


// 使用例

function printValueType(value: unknown) {

    if (isString(value)) {

        console.log("Value is a string:", value.toUpperCase());

    } else if (isNumber(value)) {

        console.log("Value is a number:", value.toFixed(2));

    } else {

        console.log("Value has an unknown type");

    }

}


printValueType("hello"); // Value is a string: HELLO

printValueType(42);     // Value is a number: 42.00

printValueType(true);   // Value has an unknown type

```


この例では、`isString`と`isNumber`というカスタムな型ガード関数を定義しています。これらの関数は、それぞれ特定の型であるかどうかを判定し、`value is string`および`value is number`という形式の型ガードの条件を満たすかどうかを返します。その後、`printValueType`関数内でこれらの型ガードを使用して、`unknown`型の変数を安全に特定の型として扱っています。


`is`演算子を使用することで、型の制約を持った変数を作成し、型ガードを使って型の判定と安全な型アサーションを行うことができます。

コメント

このブログの人気の投稿

gitよく使うコマンド集

よく使うgitのコマンド集をまとめてみた。 1.ローカルリポジトリの登録  #git init 2.gitの状態を確認  #git status 3.gitのファイルを追加  #git add . 4.ローカルのマスタにコミットする  #git commit -m "体温管理アプリの初期化" 5.リモートリポジトリを登録する  #git remote add origin https://github.com/ユーザーID/リポジトリ名  例)git remote add origin https://github.com/githubkyo/taionkanri 6. リモートリポジトリの変更履歴の取得 git fetch origin master 7.差分のあるファイル名を表示 > git diff --name-status ローカルブランチ名 origin/リモートブランチ名 【例】 > git diff --name-status master origin/master 8.リモートのファイルのみをローカルに反映する。 git checkout origin/master --src/Eccube/Resource/template/default/default_frame.twig 9.別ブランチをマスタへマージする git checkout master git merge other_branch 以上で、随時更新していく予定。

MongoDB入門編 その1)

mogoDBについて、勉強しながら、紹介していきます。 1.インストール  https://www.mongodb.com/try/download/communityにアクセスして、Available Downloadsの ところから、ダウンロードして、手順に沿ってインストールする。 2.サービスの起動と停止 起動:sudo service mongodb start 停止:sudo service mongodb stop 3.mongoシェルの起動 #mongo 4.実際に使ってみる。 ・用語  MongoDBとRDBとの比較  -------------------------------------  MongoDB          | RDB  -------------------------------------  データベース     | データベース  -------------------------------------  コレクション     | テーブル  -------------------------------------  ドキュメント     | 行(レコード)  -------------------------------------  フィールド       | 列  -------------------------------------   ・データベースの作成  >use study   switched to db study      これだけで、studyというデータベースができました。     > db.stats() {     "db" : "study",     "collections" : 0,     "objects" : 0,     "avgObjSize" : 0,     "dataSize" : 0,     "stora...