Der void Ausdruck evaluiert einen gegebenen Ausdruck und gibt dann undefined.
Syntax
void Ausdruck
Beschreibung
Der Operator erlaubt es, Ausdrücke mit Seiteneffekten an Stellen zu benutzen, an denen ein Ausdruck der zu undefined ausgewertet wird benötigt wird.
Der void Ausdruck wird oft nur deswegen verwendet, um den primitiven Wert undefined zu erhalten. In diesen Fällen kann auch die globale Variable undefined benutzt werden (wenn der Wert für diese auf den default-Wert zeigt und nicht geändert wurde)
Immediately Invoked Function Expressions
Wenn man eine immediately-invoked function expression verwendet, dann kann void benutzt werden, um das keyword function als Ausdruck und nicht als Deklaration auswerten zu lassen.
void function iife() {
var bar = function () {};
var baz = function () {};
var foo = function () {
bar();
baz();
};
var biz = function () {};
foo();
biz();
}();
JavaScript URIs
Wenn ein Browser einer javascript: URI folgt, wird zuerst der Code innerhalb der URI ausgewertet und dann der Inhalt der Seite mit dem Rückgabewert ersetzt. Das ist nicht der Fall, wenn der Rückgabewert undefined ist. Der void Ausdruck kann dazu benutzt werden in diesen Fällen undefined zurückzugeben. Zum Beispiel:
<a href="javascript:void(0);"> Click here to do nothing </a> <a href="javascript:void(document.body.style.backgroundColor='green');"> Click here for green background </a>
Anmerkung: Die Verwendung des javascript: pseudo protocol wird gegenüber anderen nicht invasiven Maßnahmen wie Event Handlern nicht empfohlen.
Spezifikationen
| Spezifikation | Status | Kommentar |
|---|---|---|
| ECMAScript 1st Edition (ECMA-262) Die Definition von 'The void Operator' in dieser Spezifikation. |
Standard | Initiale Definition. Implementiert in JavaScript 1.1 |
| ECMAScript 3rd Edition (ECMA-262) Die Definition von 'The void Operator' in dieser Spezifikation. |
Standard | |
| ECMAScript 5.1 (ECMA-262) Die Definition von 'The void Operator' in dieser Spezifikation. |
Standard | |
| ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'The void Operator' in dieser Spezifikation. |
Standard | |
| ECMAScript 2017 Draft (ECMA-262) Die Definition von 'The void Operator' in dieser Spezifikation. |
Entwurf |
Browserkompatibilität
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) |