【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演算子のページの日本語版がない…)
コメント