Skip to Content
初めてのTypeScript ―型安全なJavaScriptでWeb開発を加速する
book

初めてのTypeScript ―型安全なJavaScriptでWeb開発を加速する

by Josh Goldberg, 今村 謙士, 原 隆文
June 2023
Intermediate to advanced content levelIntermediate to advanced
336 pages
4h 39m
Japanese
O'Reilly Japan, Inc.
Content preview from 初めてのTypeScript ―型安全なJavaScriptでWeb開発を加速する

10章ジェネリック

Variables you

declare in the type system?

A whole new (typed) world!

型システムの中で

宣言する変数?

まったく新しい(型付けされた)世界!

……………………………………………………

 

これまで学んできたすべての型の構文は、それが書かれた時点でコードの扱う型がわかっていることを想定しています。しかし、コードの一部分が、どのように呼び出されたかによって、さまざまな異なる型を扱うことを意図している場合もあります。

次に示すJavaScriptのidentity関数を考えてみましょう。この関数は、任意の型の入力を受け取り、それをそのまま出力として返すことを意図したものです。この関数のパラメーターの型と戻り値の型をどのように表現したらよいでしょうか?

function identity(input) {
    return input;
}

identity("abc");
identity(123);
identity({ quote: "I think your self emerges more clearly over time." });

inputany型と宣言することはできますが、そうすると、関数の戻り値の型もanyになってしまいます。

function identity(input: any) {
    return input;
}

let value = identity(42); // valueの型:any

inputがどんな値でも受け入れるとしたら、inputの型と関数が返す型の関係を表現する方法が必要です。TypeScriptでは、ジェネリック(generics)を使って、型同士の関係を表現します。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Pythonではじめるバイオインフォマティクス ―可読性・拡張性・再現性のあるコードを書くために

Pythonではじめるバイオインフォマティクス ―可読性・拡張性・再現性のあるコードを書くために

Ken Youens-Clark, 異業種データサイエンス研究会
スクラム実践者が知るべき97のこと

スクラム実践者が知るべき97のこと

Gunther Verheyen, 吉羽 龍太郎, 原田 騎郎, 永瀬 美穂
サイトリライアビリティワークブック ―SREの実践方法

サイトリライアビリティワークブック ―SREの実践方法

Betsy Beyer, Niall Richard Murphy, David K. Rensin, Kent Kawahara, Stephen Thorne, 澤田 武男, 関根 達夫, 細川 一茂, 矢吹 大輔, 玉川 竜司

Publisher Resources

ISBN: 9784814400362Other