JavaScript 中的“assert”是什么?
2022-08-30 00:00:01
在 JavaScript 中是什么意思?assert
我见过这样的东西:
assert(function1() && function2() && function3(), "some text");
并想知道该方法的作用。assert()
在 JavaScript 中是什么意思?assert
我见过这样的东西:
assert(function1() && function2() && function3(), "some text");
并想知道该方法的作用。assert()
JavaScript本身没有标准。也许你正在使用一些提供一个的库;例如,如果您使用的是Node.js,那么也许您正在使用断言模块。(提供实现控制台 API 的控制台的浏览器和其他环境提供 console.assert
。assert
函数的通常含义是,如果传递到函数中的表达式为 false,则抛出错误;这是断言检查的一般概念的一部分。通常,断言(如其称)仅用于“测试”或“调试”生成,并从生产代码中剥离出来。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)
欲了解更多信息: