下の本を読んでテンプレートリテラル型を知らなかったのでメモ
あったらいいのにと思っていた構文だが、v4.1(約2年前)からあったみたいで、うまく探せてないだけだった
本を読んで存在をしれてよかった
JavaScriptと同様にHello, ${string}!
のような書き方でテンプレート化できるが、${}
の中は型名がはいる
本を読んで面白い使い方だと思ったのは、戻り値をテンプレートリテラル型にする逆の関数をつくる話
つまりslice
した後の文字列を型にした戻り値をつくる関数
function fromKey<T extends string>(key: `user: ${T}`): T { return key.slice(5) as T; } const user = fromKey("user:test"); // userは"test"型になる
自分のプロジェクトで、あるIDをサービス名:親番号:子番号:言語
というようにプロパティを駆使して整形している
いままで、string
にしていたので、このテンプレートリテラル型でより安全にできそう