为什么这段js代码加不加分号输出不同?

vara=1varb=2[a,b]=[b,a+b]console.log(a,b)
vara=1;varb=2;[a,b]=[b,a+b]console.log(a,b)
上面这两段代码,不加分号和加分号,在控制台输出为什么会不一样?我个人习惯以前从来不加分号,是否意味着这个习惯不好呢?
慕姐4208626
浏览 460回答 2
2回答

MMTTMM

上面那段代码你一行行输入,而不是整段复制,跟下面那段代码是一样的效果。而你在IDE中写代码,加不加分号都能是一样的效果是因为ASI机制。JavaScript中的ASI机制,允许我们省略分号。ASI机制不是说在解析过程中解析器自动把分号添加到代码中,而是说解析器除了分号还会以换行为基础按一定的规则作为断句的依据,从而保证解析的正确性。建议加上分号。不仅仅是为了自己以后改bug,重构,调试等等,也为了使以后团队合作中更有效率
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript