このガイドでは、TypeScript の「Omit」ユーティリティ タイプについて説明します。
TypeScript の省略型とは何ですか?
” 省略 」ユーティリティ タイプは、基本タイプの不要なプロパティを除外して新しいタイプを作成します。基本型は、新しい型の派生元となる既存の型を表します。
構文
NewType タイプ = 省略 < 既存のタイプ、 'プロパティ名1' | 'プロパティ名2' | ... >
上記の構文では「 省略 「」の複数のプロパティ 既存のタイプ ” の助けを借りてそれらを分離します。 または (|)」演算子。
上記で定義した「省略」ユーティリティ タイプを実際に使用してみましょう。
例 1: タイプ エイリアスを使用して「Omit」を適用する
この例では、「Omit
コード
TypeScript プロジェクトの「.ts」ファイル内の指定されたコード行をコピーします。
タイプ ユーザー = {名前 : 弦、
年 : 番号、
位置 : 弦
} ;
タイプ UserWithoutAge = 省略 < ユーザー、 '年' >;
定数 ユーザーなし : 年齢のないユーザー = {
名前 : 'または' 、
位置 : 「イスラマバード」
} ;
コンソール。 ログ ( ユーザーなし ) ;
このコードでは:
- ” ユーザー 」タイプは、指定されたプロパティの名前、築年数、および場所で定義されます。
- 次に、「 年齢のないユーザー 」を使用して、既存の「User」タイプから「age」プロパティを除外することにより、新しいタイプが作成されます。 省略 』ユーティリティタイプ。
- その後、オブジェクト「 ユーザーなし タイプ「UserWithoutAge」の「」が作成され、既存のタイプ「User」の「年齢」を除くすべてのフィールドが指定されます。
- 最後に、「 console.log() 」メソッドを適用して「userwithoutage」オブジェクトを表示します。
出力
「.ts」ファイルをコンパイルし、自動生成された「.js」ファイルを実行します。
tscメイン。 js //Compile.ts ファイルノードメイン。 js // .js ファイルを実行
ターミナルに新しいタイプの「UserWithoutAge」オブジェクトの出力が表示されていることがわかります。
例 2: インターフェイスを使用して「Omit」タイプを適用する
この例では、「Omit
コード
インターフェース ユーザー {名前 : 弦 ;
年 : 番号 ;
位置 : 弦 ;
}
新しい人を入力してください = 省略 < ユーザー、 '年' | '位置' >;
定数 人 : 新しい人 = {
名前 : 'または'
} ;
コンソール。 ログ ( 人 ) ;
ここで、記述されているコード行は次のとおりです。
- インターフェースを定義する ユーザー 」には、次のプロパティ名、文字列、および場所があります。
- 次に、新しいタイプを作成します。 新しい人 」は、指定されたプロパティの年齢と場所を除いて、既存のインターフェース「User」から取得されます。
- その後、「」という名前の新しいタイプの「Newperson」オブジェクトを作成します。 人 」 プロパティを 1 つだけ指定します。つまり、既存のインターフェイス「User」の「name」です。
- 最後に、「person」オブジェクトのフィールドを「 console.log() ' 方法。
出力
コードをコンパイルして実行します。
tscメイン。 js //Compile.ts ファイルノードメイン。 js // .js ファイルを実行
端末には、そのオブジェクトで指定された新しいタイプ「Newperson」のプロパティ値が 1 つだけ表示されます。
例 3: Function() を使用して「Omit」タイプを適用する
この例では、既存のインターフェイスのいくつかのプロパティを省略することで、引数として渡されたインターフェイスのオブジェクトを返す関数で「Omit
コード
インターフェース ユーザー {名前 : 弦 ;
年 : 番号 ;
位置 : 弦 ;
}
関数 getUserDetails ( 新しいユーザー : 省略 < ユーザー、 '名前' | '位置' > ) : 番号 {
戻る ( 新しいユーザー。 年 )
}
定数 新しいユーザー : ユーザー = {
年 : 40 、
名前 : 'または' 、
位置 : 「イスラマバード」
} ;
定数 ユーザー詳細 = getUserDetails ( 新しいユーザー ) ;
コンソール。 ログ ( ユーザー詳細 ) ;
上記のコード スニペット:
- まずインターフェースを作成します。 ユーザー 」には、名前、年齢、場所のプロパティがあります。
- 次に関数名を定義します。 getUserDetails() これは、既存のインターフェイス、つまり「User」のタイプ「newuser」の「name」および「location」プロパティを省略します。
- この関数は数値、つまりユーザーの「年齢」を返します。
- ここで、「」のオブジェクトを作成します。 新しいユーザー インターフェース「User」の「」を使用して、そのプロパティ値を指定します。
- その後、定義された「getUserDetails()」関数を呼び出し、「newuser」オブジェクトをパラメータとして渡します。 ユーザー詳細 ' 絶え間ない。
- 最後に、「userDeatils」出力を「」経由で表示します。 console.log() ' 方法。
出力
tscメイン。 js //Compile.ts ファイルノードメイン。 js // .js ファイルを実行
端末には「」のみが表示されます。 年 「名前」と「場所」は「省略」ユーティリティ タイプによって除外されるため、「」プロパティ値が返されます。
結論
TypeScript では、ユーティリティ タイプは「 省略 」は、既存の型を最初のパラメータとして受け取り、既存の型のいくつかのプロパティを除外して新しい型を作成します。このユーティリティ タイプは、新しいタイプを最初から作成するのではなく、既存のタイプを複製して、そのプロパティの一部を持つ新しいタイプを作成するのに役立ちます。 「type」エイリアス、インターフェイス、関数を使用して適用できます。このガイドでは、TypeScript の「Omit」ユーティリティ タイプについて詳しく説明しました。