assert(斷言)
function assert(value) {
if (value === true) {
console.info('[測(cè)試通過]')
}else {
console.error('[測(cè)試不通過]')
}
}
上面的代碼 聲明了一個(gè)函數(shù)assert , 它有一個(gè)可接受的值是value . if 這個(gè)值是true , 就執(zhí)行console.info('[測(cè)試通過]') . 否則else 就執(zhí)行console.error('[測(cè)試不通過]')
假設(shè)執(zhí)行下面的代碼
var a = '1\n2'
想知道a的length , 但是又不確定 , 就可以用assert
assert(a.length === 3)
調(diào)用剛才的函數(shù)assert , 斷言a的長(zhǎng)度是3 , 結(jié)果是真的 , 控制臺(tái)顯示 [測(cè)試通過]
JS的內(nèi)置assert是console.assert()
falsy值
- 相當(dāng)于false 的值就是 falsy值 下面就是JS中的falsy <a >詳情點(diǎn)擊Falsy</a>
if (false)
if (null)
if (undefined)
if (0)
if (NaN)
if ('')
if ("")
if (document.all)
判斷 真假 , !是取正 , !!就是取反 , 0是false , !就是取反 , !!就是取正 , 0本身就是falsy值所以!! 返回false
&& 和 ||
- && 返回 Falsy
- || 返回 Truthy
- 返回的是第一個(gè) Falsy 或 Truthy , 不管后面
再看這段代碼
function assert(value , name) {
name = name || ''
if (value === true) {
console.info('[測(cè)試通過]' + name)
}else {
console.error('[測(cè)試不通過]' + name)
//throw new Error("失敗") ←←加到這里
}
}
還可以用 throw new Error('assert失敗') .它的作用是拋出錯(cuò)誤