2023-05-24 追記 改訂 + α 版を書きました. お題 具体例として, ちょうど長さ 3 の文字列のみを引数として受け付ける関数を作ります. こんな関数を作って何がしたいのかは不明. 先出しパターン よくある手段としては「ちょうど長さ 3 の文字列」のような制約を満たす型をあらかじめ定義しておいて, 引数の型としてそれを使うという方法です. type StringOfThreeChars = /* ちょうど長さ 3 の文字列 */; declare function myFunc(str: StringOfThreeChars): void; myFunc("ab"); // error myFunc("abc"); // ok myFunc("abcd"); // error では StringOfThreeChars はどう定義するとよいでしょうか? おそらく現時点 (Typ