いつも人が書いているのを見ますvoid(0)
が、なぜかっこを使うのかわかりません。私の知る限り、彼らには目的がありません。void
関数ではなく、演算子です。では、なぜ人々はパレンを使うのでしょうか?それらは目的を果たしますか?MDNでも、parensが使用されます。
3 に答える
主に他のサイトで使用されているのを見たので、過去に何度も同じ構造を使用したことを認めなければなりません。インライン JavaScript より控えめな JavaScript が好まれるため、私はこれを使用しなくなりました。実際、ページが更新されないようにするために、ほとんどインラインでのみ使用されます。
そうは言っても、あなたが正しく指摘したように、それは関数ではなく演算子です。それがまだ機能する理由は、(0)
と0
が同じものだからです。したがって、次のように評価されます。
void (0);
これは次と同じです:
void 0;
関数呼び出しとして書かれている理由は、インラインで使用すると関数をより快適に感じるからだと思います:)
<a href="javascript:void 0">...</a> // hold on, that can't work, can it?!
<a href="javascript:void(0)">...</a> // ahhh, normality restored
「では、なぜ人々は括弧を使うのでしょうか?」
人々はばかげたことをします。
「彼らは目的を果たしていますか?」
いいえ、それらは必要ありません。
このリンクはあなたのためにそれを説明します。
これにより明確になることの 1 つは、void は演算子 (関数ではない) であるということです。このため、void(0) は技術的に正しくありませんが、実際の実装ではこのように使用できますが、void 0 などの括弧なしで使用する必要があります。
したがって、技術的に使用するのは間違っていますvoid(0)
が、実際には void には 2 つの異なる構文があります。
void (expression)
void expression
MDNは、技術的に正しくないため、2 つの構文に関して明示的な声明は出されていませんが、すでにそのことを伝えています。
礼儀: