考えてはみましたが、実際に使うと多分怒られます。
void演算子とは
void演算子は「与えられた式に関係なくundefinedを返す演算子」です。式を与えるのに、演算結果はundefinedで握りつぶすだけなので、特に使いみちがありません。
実際、普段はundefinedを確実に得たいケースくらいでしか使いません。
では、ほんとうにvoidはundefined生成器に過ぎないのでしょうか?
関数の返り値を握りつぶす
たとえばこんな用途に使えそうです。
const page_history = []; const goTo = pageNumber => page_history.push(pageNumber); goTo(0); goTo(1); goTo(2); goTo(3); console.log(goTo(4)); // 5(page_historyの要素数)が返ってくる。まぎらわしい!
この場合、goTo()
は何も返さないようにしてほしいですよね。そこでvoid演算子を使えば返り値をundefinedにできます。
goTo2 = page => void page_history.push(page);
console.log(goTo2(5)); // 返り値が存在しない
他の用途
特に思いつきませんでした。「式を評価するけど、その評価値はいらないからundefinedにしたい」なんて場面ないですからね。