Node学习一 断言

本文介绍了Node.js中assert模块的使用,包括assert.equal进行非严格相等比较,assert.strictEqual进行严格相等比较,assert.deepEqual和assert.deepStrictEqual分别进行深度不严格和深度严格相等比较,以及assert.fail和assert.ok的用法。
摘要由CSDN通过智能技术生成

引入assert:

	const assert = require('assert')
	const strict  = require('assert')

assert.AssertionError() assert抛出的所有错误都是该类的实例

	const {message}  = new assert.AssertionError({
		//输出的错误信息
		message:"noEqual",
		//实际值
		actual:1,
		//比较值,期望值
		expected:2,
		//比较模式 equal strictEuqal等
		operator:'strictEqual'
	})

assert.equal(actual,expected,[message])

非严格相等
assert.equai(1,'1','noEqual') // 不会抛出错误 因为他们之间存在不严格相等关系

assert.strictEqual() 严格相等 采用tc39 someValue比较方法

	assert.strictEqual(1,'1') //抛出错误
	
	assert({name:'123'},{name:'123'}) //抛出错误 因为他们不属于同一个对象,在内存中的位置也不同
	//同理,比较两个值完全一致的数组也会抛出错误
	//因为他们也不属于真正意义上的 " 同一个数组 "

assert.deepEqual() 深度不严格相等

	assert.deepEqual([1,2,3,['1',2,3]],[1,2,3,[true,2,3]]) 
	//不会抛出错误 因为 '1'和 true 存在不严格相等的关系

assert.deepStrictEqual() 深度严格相等

只考虑可枚举的自身属性 + someValue比较方法,同时,对象的原型也会被严格相等比较
assert({name:'123'},{name:'123'}) //不会抛出错误
assert([[1,2,3],2,3],[[1,2,3],2,3] //抛出错误

assert.fail(actual,[message])

assert.ok(actual,[message])

//都不会抛出错误
assert.fail(false,'this is false')
assert.ok(true,'this is true')

相关链接:

tc39.github.io-same-value

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值