TypeScript の省略の反対は何ですか?

Typescript No Sheng Lueno Fan Duiha Hedesuka



実行プロセスにインターフェイスの特定のプロパティのみが必要な場合、不要なプロパティはスペースを消費するだけであるため、パフォーマンス低下の主な原因になります。 JavaScript では、実行時にインターフェイスの不要なプロパティを除外する方法はありません。幸いなことに!この弱点またはユースケースは、TypeScript が提供する「Omit」および「Pick」タイプ ユーティリティによって処理されます。これは、特定のプロパティのみを選択するのに非常に役立ちます。

このブログでは、次のセクションを取り上げて、TypeScript の省略型とその逆について説明します。







  • TypeScript の省略型とは何ですか?
  • TypeScript の Omit Type の反対は何ですか?

TypeScript の省略型とは何ですか?

TypeScript 「省略」 type は、提供されたインターフェイスから新しいインターフェイスを生成します。 「」 として提供されるプロパティをスキップまたは除外します。 '鍵' 。残りのすべてのプロパティの値を取得して処理しますが、として渡されるプロパティの値は受け入れません。 '鍵' 。簡単に言えば、 「省略」 Type には「Key」として渡されるプロパティが除外され、残りのプロパティは変わりません。



構文
TypeScript の Omit Type の構文は次のとおりです。



省略 < デモタイプ、キー1 | キー2 >

どこ 「デモタイプ」 はインターフェイスです。 「キー1」 そして 「キー2」 プロパティは新しいプロパティに追加されます 'タイプ' それは経由して生成されます 「省略」





を理解するための例 「省略」 タイプを以下に示します。

タイプ linuxhintType = {
fName: 文字列;
l名前: 文字列;
年齢: 番号;
}

タイプ newType = 省略;

const 固有: newType = {
f名前: 「ジョン」
l名前: 「ドー」
} ;

コンソール.ログ ( 特定の年齢、特定のfName ;

上記のコードの説明:



  • まず、 'タイプ' 名前付き 「linuxhintType」 が定義されており、という名前の複数のプロパティが含まれています。 「fName」 「名前」 、 そして '年' 初期化。
  • 次に、 「省略」 型が使用されます。 「linuxhintType」 最初の引数と Key として '年' 。この省略により、すべてのプロパティが取得されます。 「linuxhintType」 「年齢」プロパティのみを除外します。
  • 「省略」タイプによって取得されたプロパティは、新しいファイルに保存されます。 'タイプ' 名前付き '新しいタイプ'
  • 次に、次の型アノテーションを持つ新しい変数が作成されます。 '新しいタイプ' 残りのプロパティの値が設定されます。
  • その後、新しい変数を使用して、残りのプロパティと除外されたプロパティが取得され、検証のためにコンソール ウィンドウに表示されます。

コンパイル後、コンソール ウィンドウは次のようになります。

コンソール ウィンドウのスナップショットには、除外されたファイルへのアクセス中に型エラーが生成されたことが示されています。 '年' 財産。 「省略」タイプの詳細については、関連するリンクを参照してください。 記事

TypeScript の Omit Type の反対は何ですか?

TypeScript では、その逆です。 「省略」 それは '選ぶ' タイプ。このタイプでは、使用可能になる特定のプロパティが選択または選択され、選択されなかった残りのプロパティはすべて除外されます。つまり、全く逆のことですが、 「省略」 タイプ。同じ 2 つの引数を受け取ります 'タイプ' そして '鍵' どこ 'タイプ' インターフェイスまたはクラスです。 '鍵' プロパティが含まれ、残りは除外されます。複数のプロパティの場合、各プロパティは、 '連合' オペレーター 「|」。

構文
TypeScript の Pick Type の構文は次のとおりです。

選ぶ < デモタイプ、キー1 | キー2 | キー3 >

どこ、 「デモタイプ」 は、そのインターフェイス、クラス、または型です。 「キー1」 「キー2」 、 そして 「キー3」 プロパティが選択されます。

ここで、よりわかりやすくするために例を見てみましょう。

例: 特定のプロパティの選択

この場合、以下に示すように、インターフェイスまたはクラスの特定のプロパティが「Pick」タイプを使用して選択され、残りのプロパティは完全に除外されます。

インターフェイス linuxhintInter {
fName: 文字列;
l名前: 文字列;
年齢: 番号;
}
タイプ newType = 選択;
const 固有: newType = {
f名前: 「ジョン」
l名前: 「ドー」 、 年: 3.4 } ;

上記のコードの説明:

  • まず、インターフェース 「linuxhintInter」 という名前の 3 つのプロパティを含むように作成されます。 「fName」 「名前」 、 そして '年'
  • 次に、 '選ぶ' インターフェイスを最初のパラメータとして受け取るタイプが使用され、 '年' そして 「fName」 Union 演算子で区切られた 2 番目のパラメータとして 「|」
  • これ '選ぶ' type という名前の新しい型を定義します。 '新しいタイプ' のみが含まれます '年' そして 「fName」 プロパティを削除し、残りのすべてのプロパティを除外します。 「名前」
  • さあ、これを設定してください '新しいタイプ' 「特定の」変数の型として使用し、すべてのインターフェイスのプロパティを変更してみます。特定のプロパティのみが使用できるため、これによりエラーが発生します。

コンパイル後、コンソール ウィンドウは次のようになります。

上記のスナップショットは、選択したタイプに含まれない、または使用できないプロパティをプログラムが変更しているため、エラーが発生していることを示しています。

TypeScript の Omit とは逆に機能する型について学習しました。

結論

の反対 「省略」 TypeScript の type は、 '選ぶ' type は、指定されたプロパティのみを含む新しいタイプを生成し、メイン インターフェイスの残りのプロパティをすべて除外します。一方、 「省略」 TypeScript の type も新しい型を生成しますが、提供されたすべてのプロパティを除外し、残りのプロパティを受け入れるか含めます。この記事では、TypeScript での型の省略の反対について説明しました。