assert(断言)
function assert(value) {
if (value === true) {
console.info('[测试通过]')
}else {
console.error('[测试不通过]')
}
}
上面的代码 声明了一个函数assert , 它有一个可接受的值是value . if 这个值是true , 就执行console.info('[测试通过]') . 否则else 就执行console.error('[测试不通过]')
假设执行下面的代码
var a = '1\n2'
想知道a的length , 但是又不确定 , 就可以用assert
assert(a.length === 3)
调用刚才的函数assert , 断言a的长度是3 , 结果是真的 , 控制台显示 [测试通过]
JS的内置assert是console.assert()
falsy值
- 相当于false 的值就是 falsy值 下面就是JS中的falsy <a href='https://developer.mozilla.org/en-US/docs/Glossary/Falsy'>详情点击Falsy</a>
if (false)
if (null)
if (undefined)
if (0)
if (NaN)
if ('')
if ("")
if (document.all)
判断 真假 , !是取正 , !!就是取反 , 0是false , !就是取反 , !!就是取正 , 0本身就是falsy值所以!! 返回false
&& 和 ||
- && 返回 Falsy
- || 返回 Truthy
- 返回的是第一个 Falsy 或 Truthy , 不管后面
再看这段代码
function assert(value , name) {
name = name || ''
if (value === true) {
console.info('[测试通过]' + name)
}else {
console.error('[测试不通过]' + name)
//throw new Error("失败") ←←加到这里
}
}
还可以用 throw new Error('assert失败') .它的作用是抛出错误