assert
在 JavaScript中是什么意思?
我见过类似的东西:
assert(function1() && function2() && function3(), "some text");
并想知道该方法的assert()
作用。
assert
在 JavaScript中是什么意思?
我见过类似的东西:
assert(function1() && function2() && function3(), "some text");
并想知道该方法的assert()
作用。
assert
JavaScript 本身没有标准。也许你正在使用一些提供一个的库;例如,如果您使用的是 Node.js,那么您可能正在使用断言module。(提供控制台实现控制台 API 的浏览器和其他环境提供console.assert
.)
assert
函数的通常含义是如果传入函数的表达式为假则抛出错误;这是断言检查的一般概念的一部分。通常断言(正如他们所说的那样)仅用于“测试”或“调试”构建并从生产代码中剥离出来。
假设您有一个应该始终接受字符串的函数。您想知道是否有人使用不是字符串的内容调用了该函数(没有像 TypeScript 或 Flow 这样的类型检查层)。所以你可能会这样做:
assert(typeof argumentName === "string");
...assert
如果条件为假,哪里会抛出错误。
一个非常简单的版本如下所示:
function assert(condition, message) {
if (!condition) {
throw message || "Assertion failed";
}
}
更好的是,利用Error
对象,它具有收集堆栈跟踪等优点:
function assert(condition, message) {
if (!condition) {
throw new Error(message || "Assertion failed");
}
}
如果使用现代浏览器或 nodejs,您可以使用console.assert(expression, object)
.
想要查询更多的信息:
其他答案很好: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
assert()
不是原生的 javascript 函数。这是某人制作的自定义功能。您必须在您的页面或文件中查找它并将其发布给任何人以帮助确定它在做什么。
检查这个:http : //net.tutsplus.com/tutorials/javascript-ajax/quick-tip-quick-and-easy-javascript-testing-with-assert/
它用于测试 JavaScript。令人惊讶的是,这段代码只有五六行,在测试时提供了强大的功能和对代码的控制。
assert 函数接受两个参数:
结果:一个布尔值,它引用您的测试是通过还是失败
描述:测试的简短描述。
然后 assert 函数简单地创建一个列表项,应用“通过”或“失败”的类,具体取决于您的测试返回的是真还是假,然后将描述附加到列表项。最后,该编码块被添加到页面中。这非常简单,但效果很好。