• ..

git

    void 型

    何も当てはまらない・無いを表現する型です。

    void 型を関数の戻り値で使う

    関数の戻り値に使うときは、returnも使わないような本当に何も返さない時に使います。基本省略することがほとんどかなと思います。

    const fn: (text: string) => void = text => {
      console.log(text);
    }

    void 型を関数の引数に使う

    引数に使うとその引数は無いものとすることができます。 Pertial (?)を付けなくても渡さなくていい引数扱いになります。

    const fn = (arg: void) => {/* ... */};
    fn(); // ok
    
    const fn2 = (arg: undefined) => {/* ... */};
    fn2(); // Expected 1 arguments, but got 0.
    fn2(undefined);

    関数の引数に使うのはどういう時か

    恐らくこれは自分でそういう関数型をわざわざ定義することは99%無いです。
    これが便利なのは恐らく、自作の Generic なタイプから引数型に変換するような時に Pertial 化(?)を付けなくてもしなくても引数の数を(型チェック的には)制御できることだと思います。

    interface Arguments {
      foo: string;
      bar: void;
    }
    
    const foo = (val: Arguments['foo']) => /* ... */;
    const bar = (val: Arguments['bar']) => /* ... */;
    
    foo('foo'); // ok
    foo(); // Expected 1 arguments, but got 0.
    
    bar(); // ok
    bar('bar'); // Argument of type '"bar"' is not assignable
                // to parameter of type 'void'.