什么是JavaScript中的断言

时间:2015-04-19 03:49:46

标签: javascript

在书中:“JavaScript Ninja的秘密”作者演示了这段代码:

<script type="text/javascript">
    var outerValue = 'ninja' 
    function outerFunction() {
        assert(outerValue, "I can see the ninja");
    }
    outerFunction();
</script>

输出为:I can see the ninja

什么是断言?为什么不直接使用console.log?

2 个答案:

答案 0 :(得分:2)

Javascript断言,官方解释:

assert(value[, message])

消息周围的方括号表示第二个参数是可选的。

javascript assert测试第一个参数(值)是否真实,如果是,则将第二个可选参数打印到stdout。

assert(outerValue, "I can see the ninja");

你的变量outerValues有字符串&#34; ninja&#34;,javascript评估它的真实性,它是真实的,所以输出&#34;我可以看到忍者&#34;。

来源:https://nodejs.org/api/assert.html

答案 1 :(得分:2)

“断言”是一种非标准功能。虽然所有主流浏览器似乎都以某种形式出现。

如果断言为true,它会向控制台写入一个值。在这种情况下,outerValue等于真值(例如,不是假)。它对测试很有用,不建议用于生产。它首先计算一个布尔值以确定它是否应该打印消息这一事实使它与console.log不同。

Mozilla Docs
Already answered here