请您帮助我理解以下错误:
js content:
const assert = require('assert').strict;
var res = assert.deepEqual([[[1, 2, 3]], 4, 5], [[[1, 2, '3']], 4, 5]);
Error:
TypeError:无法读取未定义的属性“deepEqual”
My understanding:
根据Nodejs
文档,在加载“.strict
”模块时使用assert
会让我们处于限制模式,从而导致assert.deepEqual()
和{{1这个描述的结果是相同的。输出应为
“errors.AssertionError”
请指导我?
答案 0 :(得分:0)
确保您使用的是节点v.9.10.1 v. 9.10.1 assert API,因为strict
功能与以前的节点版本不兼容。这是节点v.8.11.1和v. 8.11.1 assert API,因此您可以看到strict
不可用。
在我的情况下,使用节点v.9.10.1。
可以正常工作const assert = require('assert').strict;
// check your node version
console.log(process.version)
assert.deepEqual([[[1, 2, 3]], 4, 5], [[[1, 2, '3']], 4, 5]);
v9.10.1
assert.js:49
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Input A expected to deepStrictEqual input B:
+ expected - actual ... Lines skipped
[
[
...
2,
- 3
+ '3'
]
...
5
]