const deviceLogMap = new Map([
[0,'测试'],[1,'设防'][3,'测试2']]);
上面的map中
[1,'设防'][3,'测试2']
之间缺少,号,但是在运行时没有错误信息,无法捕捉到相关的错误信息。
求解答
const deviceLogMap = new Map([
[0,'测试'],[1,'设防'][3,'测试2']]);
上面的map中
[1,'设防'][3,'测试2']
之间缺少,号,但是在运行时没有错误信息,无法捕捉到相关的错误信息。
求解答
少了逗号就把[3,'测试2']当作数组索引了吧。
let a = [1,'设防'];
const deviceLogMap = new Map([
[0,'测试'],a[3,'测试2']]);
————————更新
= =测试了一下我的是报错的。
这不能算作bug。[1,'设防'][3,'测试2']这样的语法本身就是成立的。
等价于
const arr = [1,'设防']
console.log(arr['测试2'])
// => undefined
没毛病 :)
=======
测试了一下我node也是报错的 emmm...
3 回答967 阅读✓ 已解决
1 回答851 阅读✓ 已解决
1 回答1.1k 阅读
2 回答503 阅读✓ 已解决
2 回答773 阅读
2 回答617 阅读
1 回答778 阅读
这都被你发现了,V8的bug。
new Map(wrong_iterable) swallow TypeError in file scripts
https://chromium-review.googl...
补充说明
这个
bug在Map上new Map([iterable]),但是不可迭代的参数没有抛出错误给调试器,你会发现后续的代码是不能执行的,这取决于nodejs版本所使用的V8。