Schreibt eine Fehlermeldung in die Konsole, wenn eine Behauptung falsch ist. Wenn die Behauptung wahr ist, passiert nichts.
Hinweis:
Dieses Feature ist in Web Workers verfügbar.Die Methode console.assert()
wurde in älteren Node.js Versionen anders implementiert als in Browsern. In Browsern wird durch den Aufruf von console.assert()
mit einer falschen Behauptung message
in die Konsole ausgegeben, ohne die Ausführung des nachfolgenden Codes zu unterbrechen. Vor Node.js v10.0.0 bewirkt eine falsche Behauptung jedoch auch, dass ein AssertionError
ausgelöst wird. Diese Diskrepanz wurde mit Node v10 behoben, so dass console.assert()
jetzt sowohl in Node als auch im Browser gleich funktioniert.
Syntax
console.assert(assertion, obj1 [, obj2, ..., objN]);
console.assert(assertion, msg [, subst1, ..., substN]); // c-ähnliche Formatierung
Parameter
assertion
- Jeder boolesche Ausdruck. Wenn die Behauptung falsch ist, wird
message
in der Console ausgegeben. obj1
...objN
- Eine Liste der auszugebenden JavaScript-Objekte. Die String-Darstellungen jedes dieser Objekte werden in der angegebenen Reihenfolge zusammengefügt und ausgegeben.
msg
- Ein JavaScript-String, der keine oder mehrere Ersetzungsstrings enthält.
subst1
...substN
- JavaScript-Objekte, mit denen Ersetzungsstrings in msg ersetzt werden sollen. Dieser Parameter gibt Ihnen zusätzliche Kontrolle über das Format der Ausgabe.
Beispiele
Im folgenden Codebeispiel wird die Verwendung eines JavaScript-Objekts nach der Behauptung veranschaulicht:
const errorMsg = 'the # is not even';
for (let number = 2; number <= 5; number += 1) {
console.log('the # is ' + number);
console.assert(number % 2 === 0, {number: number, errorMsg: errorMsg});
// oder mit ES2015 Object Property Shorthand:
// console.assert(number % 2 === 0, {number, errorMsg});
}
// Ausgabe:
// the # is 2
// the # is 3
// Assertion failed: {number: 3, errorMsg: "the # is not even"}
// the # is 4
// the # is 5
// Assertion failed: {number: 5, errorMsg: "the # is not even"}
Beachten Sie, dass ein String, der einen Ersatzstring enthält, als Parameter für console.log()
in Node und vielen, wenn nicht allen Browsern, funktioniert...
console.log('the word is %s', 'foo');
// Ausgabe: the word is foo
...die Verwendung eines solchen Strings als Parameter für console.assert()
jedoch derzeit nicht in allen Browsern wie erwartet funktioniert:
console.assert(false, 'the word is %s', 'foo');
// korrekte Ausgabe in Node (e.g. v8.10.0) und einigen Browsern
// (z. B. Firefox v60.0.2):
// Assertion failed: the word is foo
// inkorrekte Ausgabe in einigen Browsern
// (z. B. Chrome v67.0.3396.87):
// Assertion failed: the word is %s foo
Weitere Informationen finden Sie in der Dokumentation von console
unter Text in der Konsole ausgeben.
Spezifikationen
Spezifikation | Status | Kommentar |
---|---|---|
Console API Die Definition von 'console.assert()' in dieser Spezifikation. |
Lebender Standard | Initiale Definition |
Browserkompatibilität
BCD tables only load in the browser