SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【Javascript】voidは演算子

問題

void(0) って何?関数?

答え

voidは演算子。

voidは与えられた式を評価し、undefinedを返す。

「void(0)」 は 「void 0」と同じ。

戻り値については、以下のいずれも、何をやっても undefined で、同じ。

void(0)
void (0)
void 0
void 1
void (1 + 1)
void document.getElementById("abc")
void(document.getElementById("abc").style.backgroundColor="#000000")

void(0) は括弧を取って void 0 と書いてもよいけど、void (1+1) は優先順位の兼ね合いで括弧が欲しい。

void は、何か実行したいけど結果はundefinedを返して欲しいところに使用される。

古い書き方だけど
<a href="javascript:void(0);">押しても何もしないし、画面遷移もしない</a>
<a href="javascript:void(document.body.style.backgroundColor='green');">押したら背景色を緑にしたりするんだけど、その後は画面遷移などしない</a>

undefined という値が欲しいときにも使える。

var a = void 0; // aにundefinedが代入される
var a = void(0); // aにundefinedが代入される
var a = void {}; // aにundefinedが代入される
var a = void null; // aにundefinedが代入される
var a = void(alert(123)); // aにundefinedが代入される

参考

void Operator (MDNのvoid演算子のページの日本語版がない…)

関連するメモ

コメント