英文释义:坚称;断言;维持;维护;坚持;
那么这个API有什么用?什么是断言?
其主要是用来做测试的,日常开发的代码不应出现。
断言:判断并做出结论。只有两种结果,是与否,真与假,0与1.
如果是这样,就没问题,如果不是,那就出问题了,因此常用于写测试代码。
测试代码或写代码是为了测试比较恰当,比如测试一个函数的返回值,这个函数里有大量的判断,你想测试一下是不是得到预想的输出。因此用函数的返回值和预想的结果做对比,如果相等,代表测试通过。
const calculate = (input) => {
const res = input / 2
return res
}
const equal = (actual, expected) => {
if (actual !== expected) {
throw new Error('断言失败')
}
}
// 断言calculate(4)的结果是2,如果不是报错,后面的代码不在执行
equal(calculate(4), 2)
console.log('断言')
其实用的最多的是两种模式,一种是判断两个值是否相等 ,另一种是判断一个值为真还是为假。
判断两个值是否相等
不严格版,比较数值
const assert = require('assert')
assert.equal(1, '1') // 真 严格版为假
严格版,比较类型和数值
const assert = require('assert').strict;
assert.equal(1, '1') // 假
基本比较 比较基本类型
const assert = require('assert')
assert.equal(1, 1) // 真
assert.equal({}, {}) // 假
深度比较 可以比较对象,数组
const assert = require('assert')
assert.deepEqual({}, {}) // 真
判断一个值为真还是为假
assert.ok(1) 或者 assert(1)