LoginSignup
0
0
お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

[TypeScript] 関数の中で使用される void って何をしている?

Last updated at Posted at 2024-06-12

概要

初見で理解できないコードがあったため、備忘録として...

対象コード

const sample = () => {
    void "value";
}

console.log(sample());
// undefined

疑問

ここでいう void は何をしているのか?


結論

関数の中で void キーワードを使用すると、それに続く式の結果を評価するが、その結果を無視して常に undefinedを返します。

関数の副作用を利用しながら、戻り値は意図的に無視したい場合に使われます。

ふむふむ...なるほど


より実践的なコード

  1. useEffect で 状態を更新するための非同期処理を定義
  2. 非同期処理の実行 ※戻り値は使用しないのでvoidを先頭につける
useEffect(() => {
    const load = async () => {
      setIsLoading(true);

      try {
        const usersData = await getMembers(orgCode);
        setUsers(usersData);
      } catch (err) {
        throw new Error(`organization '${orgCode}' not exists`);
      } finally {
        setIsLoading(false);
      }
    };

    void load();
}, [orgCode]);

まとめ

void の記述がなくても動作に支障はないですが、明示的に戻り値がないことを示しておくほうが健全そう...

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0