book
book copied to clipboard
読者が混乱しないように、ジェネリクスのデフォルト型引数のサンプルコードを分かりやすくしませんか?
Typescript初心者です。こちらの書籍で学習を進めさせていただいており、大変参考になります。 良質な書籍を無償で提供してくださり、本当にありがとうございます。
【問題のページ】 https://typescriptbook.jp/reference/generics/default-type-parameter
【問題】 問題のページの下記部分で、デフォルト型引数を指定したと記述があるのにも関わらず、MyErrorEventにはデフォルトの型引数のErrorが設定されていません。MyErrorEventをホバーすることでデフォルト型引数の構文を見ることはできましたが、初学者だったため少し混乱してしまいました。こちらについて、自分と同じような初学者のこのような混同を避けるためにも、修正した方が良いのではないかと思います。
そこで、デフォルト型引数としてErrorを指定することでジェネリクスの型Tは必要な時だけ指定して、何も指定してない場合は自動でErrorとすることができます。
// デフォルト型引数を指定した事で Error の型指定を省略できる
const errorEvent: MyErrorEvent = {
error: new Error("エラーです"),
type: "syntax",
};
const networkErrorEvent: MyErrorEvent<NetworkError> = {
error: new NetworkError("ネットワークエラーです"),
type: "network",
};
改善アイディアですが、サンプルコードが実用寄りのコードになっていますが、実用から離れてもいいので、「デフォルト型引数」が際立つもっと単純なものにしたほうがいいかもしれません。そのうえで、実用例があれば後述したほうがいいかもしれません。