V8引擎解构赋值Bug验证问询:无分号对象定义后赋值异常
无分号对象定义后紧跟解构赋值的Bug问题
今天写代码的时候碰到个奇怪的坑:当不带分号的对象定义闭合大括号后面直接跟解构赋值语句时,解构赋值居然没法正常工作!我用的是Node.js 12.16.2版本,已经分别向V8引擎和Node.js提交了这个Bug的报告。
下面是我整理的复现代码和对应的执行结果:
案例1:无分号的对象定义
let a,b,c a={x:1} //<~~~这里没有分号 [b, c] = [1, 2] console.log(b) console.log(c)
执行结果:
undefined undefined
案例2:有分号的对象定义
let a,b,c a={x:1}; //<~~~这里有分号 [b, c] = [1, 2] console.log(b) console.log(c)
执行结果:
1 2
案例3:无分号的if语句后(对比测试)
let a,b,c if(1===1){ a = 1 } //<~~~这里没有分号 [b, c] = [1, 2] console.log(b) console.log(c)
执行结果:
1 2
恳请各位帮忙复现这个Bug,并把你们的测试结果反馈给我,谢谢!
内容的提问来源于stack exchange,提问作者Siroos Sheikhi
相关产品推荐
相关产品推荐

