console.assert()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since иÑÐ»Ñ 2015 г..
Ðе ÑÑандаÑÑно: ÐÑа ÑÑнкÑÐ¸Ñ Ð½Ðµ ÑÑандаÑÑизиÑована. ÐÑ Ð½Ðµ ÑекомендÑем иÑполÑзоваÑÑ Ð½ÐµÑÑандаÑÑнÑе ÑÑнкÑии в дейÑÑвÑÑÑÐ¸Ñ Ð¿ÑоекÑÐ°Ñ , Ñак как Ð¸Ñ Ð¿Ð¾Ð´Ð´ÐµÑжка бÑаÑзеÑами огÑаниÑена, а поведение Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑÑÑ Ð¸Ð»Ð¸ бÑÑÑ Ñдалено. Тем не менее, в некоÑоÑÑÑ ÑлÑÑаÑÑ , когда Ð½ÐµÑ ÑÑандаÑÑного ÑеÑениÑ, они могÑÑ Ð±ÑÑÑ Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑей алÑÑеÑнаÑивой.
ÐеÑод console.assert() запиÑÑÐ²Ð°ÐµÑ ÑообÑение об оÑибке в конÑÐ¾Ð»Ñ Ð² ÑлÑÑае, еÑли ÑÑвеÑждение ложно. ÐÑли ÑÑвеÑждение иÑÑинно - ниÑего не пÑоиÑÑ
одиÑ.
ÐÑимеÑание: ÐÑа возможноÑÑÑ Ð´Ð¾ÑÑÑпна в Web Workers.
ÐÑимеÑание:
РеализаÑÐ¸Ñ Ð¼ÐµÑода console.assert() в бÑаÑзеÑе и Node.js оÑлиÑаеÑÑÑ.
РбÑаÑзеÑе, вÑзов console.assert() Ñ Ð»Ð¾Ð¶Ð½Ñм ÑÑвеÑждением вÑÐ·Ð¾Ð²ÐµÑ Ð¿ÐµÑаÑÑ Ð¾Ñибки в конÑÐ¾Ð»Ñ Ð±ÐµÐ· пÑеÑÑÐ²Ð°Ð½Ð¸Ñ ÑекÑÑего вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑкÑипÑа, а в Node.js в аналогиÑном ÑлÑÑае бÑÐ´ÐµÑ Ð²ÑбÑоÑена оÑибка - AssertionError.
СинÑакÑиÑ
console.assert(assertion, obj1 [, obj2, ..., objN]); console.assert(assertion, msg [, subst1, ..., substN]); // Ñи-подобное ÑоÑмаÑиÑование ÑÑÑок
ÐаÑамеÑÑÑ
assertion-
ÐÑбое логиÑеÑкое ÑÑвеÑждение. ÐÑли ÑÑвеÑждение ложно - ÑообÑение об оÑибке запиÑÑваеÑÑÑ Ð² конÑолÑ.
obj1...objN-
СпиÑок JavaScript обÑекÑов Ð´Ð»Ñ Ð²Ñвода. СÑÑоковое пÑедÑÑавление ÑÑÐ¸Ñ Ð¾Ð±ÑекÑов добавлÑÑÑÑÑ Ð² поÑÑдке, Ñказанном в ÑпиÑке, и вÑводÑÑÑÑ.
msg-
СÑÑока JavaScript, ÑодеÑжаÑÐ°Ñ Ð½Ð¾Ð»Ñ Ð¸Ð»Ð¸ более ÑÑÑок подÑÑановки.
subst1...substN-
ÐбÑекÑÑ JavaScript, коÑоÑÑми нÑжно замениÑÑ ÑÑÑоки подÑÑановки в ÑÐ°Ð¼ÐºÐ°Ñ Ð¿Ð°ÑамеÑÑа msg. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð´Ð°ÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑй конÑÑÐ¾Ð»Ñ Ð½Ð°Ð´ ÑоÑмаÑиÑованием вÑвода.
ÐÑимеÑÑ
Ð ÑледÑÑÑем пÑимеÑе кода демонÑÑÑиÑÑеÑÑÑ Ð¸ÑполÑзование обÑекÑа JavaScript поÑле ÑÑвеÑждениÑ:
const errorMsg = "# не ÑÑÑное ÑиÑло";
for (let number = 2; number <= 5; number += 1) {
console.log("# Ñавно " + number);
console.assert(number % 2 === 0, { number: number, errorMsg: errorMsg });
// или, пÑи иÑполÑзовании ÑокÑаÑÐµÐ½Ð¸Ñ Ð¸Ð¼Ñн ÑвойÑÑв в ECMAScript 2015:
// console.assert(number % 2 === 0, {number, errorMsg});
}
// output:
// # Ñавно 2
// # Ñавно 3
// Assertion failed: {number: 3, errorMsg: "# не ÑÑÑное ÑиÑло"}
// # Ñавно 4
// # Ñавно 5
// Assertion failed: {number: 5, errorMsg: "# не ÑÑÑное ÑиÑло"}
ÐбÑаÑиÑе внимание, ÑÑо Ñ
оÑÑ ÑÑÑока, ÑодеÑжаÑÐ°Ñ ÑÑÑÐ¾ÐºÑ Ð¿Ð¾Ð´ÑÑановки, ÑабоÑÐ°ÐµÑ ÐºÐ°Ðº паÑамеÑÑ Ð´Ð»Ñ console.log в Node и многиÑ
, еÑли не болÑÑинÑÑве, бÑаÑзеÑаÑ
...
console.log('Ñлово %s', 'foo');
// output: Ñлово foo
...иÑполÑзование Ñакой ÑÑÑоки в наÑÑоÑÑее вÑÐµÐ¼Ñ Ð½Ðµ ÑабоÑÐ°ÐµÑ Ð² каÑеÑÑве паÑамеÑÑа Ð´Ð»Ñ console.assert во вÑеÑ
бÑаÑзеÑаÑ
:
console.assert(false, "Ñлово %s", "foo");
// коÑÑекÑнÑй вÑвод в Node.js и некоÑоÑÑÑ
бÑаÑзеÑаÑ
// (напÑÐ¸Ð¼ÐµÑ Firefox v60.0.2):
// Assertion failed: Ñлово foo
// некоÑÑекÑнÑй вÑвод в некоÑоÑÑÑ
бÑаÑзеÑаÑ
// (напÑÐ¸Ð¼ÐµÑ Chrome v67.0.3396.87):
// Assertion failed: Ñлово %s foo
СмоÑÑиÑе Ñакже ÐÑвод ÑекÑÑа в конÑÐ¾Ð»Ñ Ð² докÑменÑаÑии console Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ деÑалÑной инÑоÑмаÑии.
СпеÑиÑикаÑии
| Specification |
|---|
| Console > # assert > |