Panda Noir

JavaScript の限界を究めるブログでした。最近は幅広めに書いてます。

void演算子の活用法を考えてみた

考えてはみましたが、実際に使うと多分怒られます。

f:id:panda_noir:20180214153216p:plain

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にしたい」なんて場面ないですからね。