断言在JavaScript中是什么意思?

我见过这样的情况:

assert(function1() && function2() && function3(), "some text");

并且想知道assert()方法做什么。


当前回答

如果使用现代浏览器或nodejs,则可以使用console。断言(表情,对象)。

欲了解更多信息:

Chrome API参考 Firefox Web控制台 Firebug控制台API IE控制台API 歌剧蜻蜓 Nodejs控制台API

其他回答

其他答案很好:ECMAScript5中没有内置断言函数(例如,JavaScript基本上在任何地方都可以工作),但一些浏览器提供了断言函数或提供了提供该功能的附加组件。虽然最好使用一个完善的/流行的/维护的库,但出于学术目的,“穷人的断言”函数可能是这样的:

const assert = function(condition, message) {
    if (!condition)
        throw Error('Assert failed: ' + (message || ''));
};

assert(1 === 1); // Executes without problem
assert(false, 'Expected true');
// Yields 'Error: Assert failed: Expected true' in console

Node.js有一个assert函数,你可以导入:

Const assert = require('assert')

正如人们所期望的那样,assert(false)抛出一个错误,assert(false, message)抛出一个带有消息的错误。

其他答案已经指出JS本身没有本机断言函数,在撰写本文(2021年4月)时仍然如此。

如果使用现代浏览器或nodejs,则可以使用console。断言(表情,对象)。

欲了解更多信息:

Chrome API参考 Firefox Web控制台 Firebug控制台API IE控制台API 歌剧蜻蜓 Nodejs控制台API

检查:http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-quick-and-easy-javascript-testing-with-assert/

它是用来测试JavaScript的。令人惊讶的是,这段代码只有五六行,在测试时提供了强大的功能和对代码的控制。

assert函数接受两个形参:

outcome:一个布尔值,它引用您的测试是通过还是失败

描述:测试的简短描述。

assert函数然后简单地创建一个列表项,应用一个“pass”或“fail”的类(取决于您的测试返回的是真还是假),然后将描述追加到列表项。最后,该编码块被添加到页面中。这是疯狂的简单,但工作完美。

除了其他选项,如控制台。断言或滚动您自己的,您可以使用不变式。它有几个独特的特点:

它支持格式化的错误消息(使用%s说明符)。 在生产环境中(由Node.js或Webpack环境决定),错误消息是可选的,允许(稍微)较小的.js。