技術とかの雑なToday I Learnedメモ

ジェネリクスを書く位置の記事とシグネチャ

ジェネリクスを書く位置の記事とシグネチャ

TypeScript: の書く位置チートシート - Qiita

ジェネリクス、普通にコードを書いているときにはほぼ意識することなく書いているけど、「あれ、そんなとこにもジェネリクス置けるのか」みたいな経験を今まででした記憶があって(どんなやつかは完全に忘れた)、こういう記事があると嬉しい。

いざ調べようとすると「TypeScript ジェネリクス 書く場所」みたいなググり方になってしまうのでこういうふうにまとめられていると助かる。

シグネチャ

シグネチャ、何度も聞いたことはあるしぼんやりどんなものかは想像できるんだけど具体的なことは知らなかったので調べた。

メソッドのシグネチャ(signature)とメソッドの構文(syntax)の違い - いっしきまさひこ BLOG

シグネチャとは日本語にすると「署名」などの意味ですが、一般的なプログラミング言語(特にオブジェクト指向言語)におけるシグネチャも正にそういう意味で、唯一無二であることを示すためのもの(=メソッドの署名)です。1 つのメソッドは基本的に 1 つのシグネチャを持っています。

シグネチャ(signature)とは - IT 用語辞典 e-Words

プログラミングの分野では、関数やメソッドの名前、引数の数やデータ型、返り値の型などの組み合わせのことをシグネチャという。言語によっては、同じクラスなどの中で名前が同じだが引数の型などが異なるメソッドを複数同時に宣言することができる場合があり、それらはシグネチャによって識別される。

なんとな〜くわかるけど、完全には理解できない。言語によって意味が異なるっぽいので、JavaScript におけるシグネチャを調べてみる。

Signature (functions) (シグネチャ (関数)) - MDN Web Docs 用語集: ウェブ関連用語の定義 | MDN

関数シグネチャ (もしくは型シグネチャ、メソッドシグネチャ) は関数やメソッドの入力と出力を定義します。

基本的に例にある Java と一緒らしい。関数の名前、引数の型、戻り値の型あたりの情報があるが、JavaScript は動的型付け言語なので実行時までは引数などが未定義のものとなる。

結局完全に理解することはできなかったな。