TypeScriptで名前付き引数ぽい関数を一番短く書けそうな方法
#TypeScript
code:ts
function displayWithType({name, age}: {name: string, age: number}) {
console.log(${name}は${age}歳です。);
}
引用元: TypeScript - TypeScriptで関数の引数に分割代入したときの型指定方法|teratail
良い点
myfunc(params: {name: string, age: number})でparams.nameとかならずに型宣言部に分割代入と同時に書けてる点。
{name, age}: {name: string, age: number}の{name, age}を間違えて{naaame, age}とかしてもコンパイル時に検出可能な点。
{name, age}: {name: string, age: number}の{name, age}のnameやageはちゃんと型が付いている点。
まだ残念な点
名前付きにしたいの引数の名前に相当する箇所が重複して登場する点。SwiftとかScalaみたいな感じなると嬉しいかった。
JavaScriptのオブジェクトで名前付き引数の関数を模倣しているのでしょうがないと思う。ただ今後これをやりやすくする糖衣構文が登場する可能性もある。