目次
ジェネリック
ユーティリティ タイプ
ホームページ ウェブフロントエンド jsチュートリアル TypeScript で知っておく価値のある 7 つのメソッドについての簡単な説明

TypeScript で知っておく価値のある 7 つのメソッドについての簡単な説明

Sep 17, 2021 am 10:53 AM
typescript ジェネリック

この記事では、知っておくべき TypeScript の 7 つのメソッドを紹介します。お役に立てれば幸いです。

TypeScript で知っておく価値のある 7 つのメソッドについての簡単な説明

#TypeScript の型システムは非常に強力です。これはタイプ セーフティを提供します。型システムは愛されていますが、型とインターフェイスを計画および設計しないと、コードが乱雑で読みにくくなる可能性もあります。

ジェネリック

コードの重複を避け、再利用可能な型を作成することは、簡潔なコードを作成する際の重要な部分です。ジェネリックは、再利用可能な型を作成できるようにする TypeScript の機能です。次の例を見てください。

type Add<T> = (a: T, b: T) => T

const addNumbers: Add<number> = (a, b) => {
  return a + b
}

const addStrings: Add<string> = (a, b) => {
  return a + b
}
ログイン後にコピー

正しい型を Add のジェネリック型に入力します。これは、2 つの数値の加算または 2 つの文字列の連結を記述するために使用できます。関数ごとに型を記述する代わりに、ジェネリックを使用してそれを 1 回行うだけで済みます。これにより、労力が節約されるだけでなく、コードがよりクリーンになり、エラーが発生しにくくなります。

ユーティリティ タイプ

TypeScript は、一般的な型変換の実行に役立ついくつかの便利なユーティリティ タイプをネイティブに提供します。これらのユーティリティ タイプはグローバルに利用でき、すべてジェネリックを使用します。

私がよく使うのは以下の7つです。

1. Pick<Type, Keys>

Pick は、Type から属性セット Keys を選択して、新しいタイプのキーは、文字列リテラルまたは文字列リテラルの結合にすることができます。 Keys の値は Type のキーである必要があります。そうでない場合は、TypeScript コンパイラーからエラーが発生します。このユーティリティ タイプは、多くのプロパティを持つオブジェクトから特定のプロパティを選択して、より軽量なオブジェクトを作成する場合に特に便利です。

type User = {
  name: string
  age: number
  address: string
  occupation: string
}

type BasicUser = Pick<User, "name" | "age">

// type BasicUser = {
//   name: string;
//   age: number;
// }
ログイン後にコピー

2. Omit<Type, Keys>

OmitPick## の逆です。 #。 キー これは、どの属性を保持するかということではなく、省略する属性キーのセットを意味します。これは、オブジェクトから特定のプロパティを削除し、他のプロパティを保持したい場合に便利です。

type User = {
  name: string
  age: number
  address: string
  occupation: string
}

type BasicUser = Omit<User, "address" | "occupation">

// type BasicUser = {
//   name: string;
//   age: number;
// }
ログイン後にコピー

3. Partial

Partial すべての型属性セットを使用して型を構築することはオプションです。これは、オブジェクトの更新ロジックを作成するときに非常に役立ちます。

type User = {
  name: string
  age: number
  address: string
  occupation: string
}

type PartialUser = Partial<User>

// type PartialUser = {
//   name?: string;
//   age?: number;
//   address?: string;
//   occupation?: string;
// }
ログイン後にコピー

4. Required

##Required

は、Partial の逆です。すべてのプロパティが必要な型を構築します。これを使用すると、型にオプションのプロパティが存在しないことを確認できます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>type PartialUser = { name: string age: number address?: string occupation?: string } type User = Required&lt;PartialUser&gt; // type User = { // name: string; // age: number; // address: string; // occupation: string; // }</pre><div class="contentsignin">ログイン後にコピー</div></div>

5.

Readonly

Readonly

型セットのすべてのプロパティが読み取られる型を構築します。 -のみ。新しい値 TS を再割り当てすると、エラーが発生します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>type User = { name: string age: number address: string occupation: string } type ReadOnlyUser = Readonly&lt;User&gt; const user: ReadOnlyUser = { name: &quot;小智&quot;, age: 24, address: &quot;厦门&quot;, occupation: &quot;大迁世界&quot; } user.name = &quot;王大冶&quot; // Cannot assign to &amp;#39;name&amp;#39; because it is a read-only property.</pre><div class="contentsignin">ログイン後にコピー</div></div>

6.

ReturnType

ReturnType

関数型の戻り値の型から型を構築します。これは、外部ライブラリの関数型を処理し、それらに基づいてカスタム型を構築する場合に非常に役立ちます。

import axios from &#39;axios&#39;

type Response = ReturnType<typeof axios>

function callAPI(): Response{
  return axios("url")
}
ログイン後にコピー
上記に加えて、よりクリーンなコードを作成するのに役立つユーティリティ タイプが他にもあります。ユーティリティ タイプに関する TypeScript ドキュメントへのリンクは、ここにあります。

https://www.typescriptlang.org/docs/handbook/utility-types.html

ユーティリティ タイプは、TypeScript が提供する非常に便利な機能です。開発者は、型のハードコーディングを避けるためにこれらを活用する必要があります。同僚よりも優れているように見えますか? 知っておくべきことは次のとおりです!

この記事は次の場所に転載されています: https://segmentfault.com/a/1190000040574488

プログラミング関連の知識の詳細については、次のサイトを参照してください:
概要プログラミング

! !

以上がTypeScript で知っておく価値のある 7 つのメソッドについての簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ジェネリック関数は Golang の可変長引数の型の問題を解決しますか? ジェネリック関数は Golang の可変長引数の型の問題を解決しますか? Apr 16, 2024 pm 06:12 PM

Go のジェネリック関数は、可変個引数型の問題を解決します。ジェネリック関数を使用すると、実行時に型パラメータを指定できます。これにより、さまざまな型のパラメータを処理できる関数を作成できるようになります。たとえば、Max 関数は、2 つの同等のパラメーターを受け取り、大きい方の値を返す汎用関数です。ジェネリック関数を使用すると、さまざまな種類のパラメーターを処理できる、より柔軟で汎用的なコードを作成できます。

golang でのジェネリックスの具体的なアプリケーション シナリオ golang でのジェネリックスの具体的なアプリケーション シナリオ May 04, 2024 am 11:45 AM

Go でのジェネリックスのアプリケーション シナリオ: コレクション操作: フィルター処理など、あらゆるタイプに適したコレクション操作を作成します。データ構造: キュー、スタック、マップなどの汎用データ構造を作成して、さまざまな種類のデータを保存および操作します。アルゴリズム: さまざまな種類のデータを処理できる、並べ替え、検索、リダクションなどの汎用アルゴリズムを作成します。

Java関数ジェネリックの上限と下限は何ですか?使い方? Java関数ジェネリックの上限と下限は何ですか?使い方? Apr 26, 2024 am 11:45 AM

Java 関数ジェネリックでは、上限と下限を設定できます。 Extends は、関数によって受け入れられるか返されるデータ型が、指定された型のサブタイプである必要があることを指定します。下限 (スーパー) は、関数によって受け入れられるか返されるデータ型が、指定された型のスーパータイプである必要があることを指定します。ジェネリックを使用すると、コードの再利用性とセキュリティが向上します。

Golang ジェネリックは関数のシグネチャとパラメーターにどのような影響を与えますか? Golang ジェネリックは関数のシグネチャとパラメーターにどのような影響を与えますか? Apr 17, 2024 am 08:39 AM

Go 関数のシグネチャとパラメーターに対するジェネリックスの影響には、以下が含まれます。 型パラメーター: 関数シグネチャーには、関数が使用できる型を指定する型パラメーターを含めることができます。型制約: 型パラメーターには、満たさなければならない条件を指定する制約を設定できます。パラメーターの型の推論: コンパイラーは、指定されていない型パラメーターの型を推論できます。型の指定: パラメーターの型を明示的に指定して、ジェネリック関数を呼び出すことができます。これにより、コードの再利用性と柔軟性が向上し、複数の型で使用できる関数や型を作成できるようになります。

Golang の汎用関数の制限は何ですか? Golang の汎用関数の制限は何ですか? Apr 16, 2024 pm 05:12 PM

Go 汎用関数の制限: 型パラメーターのみがサポートされ、値パラメーターはサポートされません。関数の再帰はサポートされていません。型パラメータは明示的に指定できず、コンパイラによって推論されます。

Java 列挙型はジェネリックとどのように連携するのでしょうか? Java 列挙型はジェネリックとどのように連携するのでしょうか? May 04, 2024 am 08:36 AM

Java における列挙型とジェネリックの組み合わせ: ジェネリックを使用して列挙を宣言する場合は、山かっこを追加する必要があります。T は型パラメータです。ジェネリック クラスを作成するときは、山括弧を追加する必要もあります。T は、任意の型を格納できる型パラメーターです。この組み合わせにより、コードの柔軟性、型安全性が向上し、コードが簡素化されます。

golang の変数パラメータはジェネリック関数で使用できますか? golang の変数パラメータはジェネリック関数で使用できますか? Apr 29, 2024 pm 02:06 PM

Go では、可変パラメーターをジェネリック関数に使用できるため、可変数のパラメーターを受け入れ、複数の型に適したジェネリック関数を作成できます。たとえば、指定されたリスト内で最も頻繁に出現する要素を検索する汎用関数 Mode を作成できます。Mode は、型 T の可変数の要素を受け入れます。各要素のカウントを作成することで要素をカウントします。次に、最も多く出現する要素を見つけて、それをモードとして返します。 main 関数では、文字列のリストと整数のリストに対して Mode 関数を呼び出すことができます。これにより、それぞれ最も多く出現する文字列と数値が返されます。

Java ジェネリック メソッドはどのように型推論を実行しますか? Java ジェネリック メソッドはどのように型推論を実行しますか? May 01, 2024 pm 02:45 PM

Java ジェネリック メソッドは、明示的な宣言を行わなくても、型パラメータを自動的に推論します。ルールには次のものが含まれます。 1. 明示的な型宣言を使用する。 2. 単一の型を推測する。 4. コンストラクターの戻り値の型を推測する。これによりコードが簡素化され、汎用メソッドの作成と使用が容易になります。

See all articles