タグ

2021年8月28日のブックマーク (1件)

  • TypeScriptで可変長引数から型をいい感じに推論する | Wantedly Engineer Blog

    突然ですが、以下のJavaScriptプログラムに型をつけるとしたらどうするでしょうか。 function all(...callbacks) { return (x) => { for (const callback of callbacks) { callback(x); } } }最も自然な方法のひとつは、次のような型づけでしょう。 type Callback<T> = (value: T) => void; function all<T>(...callbacks: Callback<T>[]): Callback<T>;これ自体は最小限で最も正しい型をつけていて良いのですが、ユースケースによっては不便な場合があります。具体的には、以下のような「異なる型の汎用的なコールバックを組み合わせて特殊なコールバックを作る」という使い方です。 function cb1(value: { fo

    TypeScriptで可変長引数から型をいい感じに推論する | Wantedly Engineer Blog
    otherworld
    otherworld 2021/08/28
    “実際の用途は styled-components のCSSインターポレーションの合成でした。”