book
book copied to clipboard
型アサーションのアングルブラケット構文とジェネリクスの見分け方を追記してほしい
有用な文書の公開ありがとうございます。
初心者の私には、ジェネリクスとの見分けることも困難です。 見分けるための方法を追記いただければ幸いです。
https://typescriptbook.jp/reference/values-types-variables/type-assertion-as#%E5%9E%8B%E3%82%A2%E3%82%B5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9 アングルブラケット構文
アングルブラケット構文はJSXと見分けがつかないことがあるため
const strLength: number = (<string>value).length;
初心者の私には、ジェネリクスとの見分けることも困難です。
ジェネリクスが解決する問題より引用 https://typescriptbook.jp/reference/generics#%E3%82%B8%E3%82%A7%E3%83%8D%E3%83%AA%E3%82%AF%E3%82%B9%E3%81%8C%E8%A7%A3%E6%B1%BA%E3%81%99%E3%82%8B%E5%95%8F%E9%A1%8C
chooseRandomly<String>("勝ち", "負け");
chooseRandomly<Number>(1, 2);
chooseRandomly<URL>(urlA, urlB);
関連ページ: https://github.com/yytypescript/book/edit/master/docs/reference/values-types-variables/type-assertion-as.md
まずは、どのような説明をしたら、型アサーションとジェネリクスを見分けられるようになるか、という観点でのアイディア出しが必要そうです。
検討事項に採用いただきありがとうございます。
初心者なりの視点 ジェネリクス: 関数の後に後置されている 型アサーション: メソッドの前に前置されている
関数やメソッドの定義が頭のなかで「ふわっと」したものです。 正しい定義であるか自信がありません。 また、上記の理解で例外があるのかも知りたいところです。