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...
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
这都被你发现了,V8的bug。
new Map(wrong_iterable) swallow TypeError in file scripts
https://chromium-review.googl...
补充说明
这个
bug
在Map
上new Map([iterable])
,但是不可迭代的参数没有抛出错误给调试器,你会发现后续的代码是不能执行的,这取决于nodejs版本所使用的V8。