javascript - do-while 语句的 Javascript 自动分号插入
问题描述
从 ES6 开始,为自动分号插入规则 1 添加了一个新的案例:
前一个标记是 ),然后插入的分号将被解析为 do-while 语句 (13.7.2) 的终止分号。
这允许人们避免行终止并编写丑陋的代码,例如:
do {} while (false) var a = 42
这条规则背后的理由是什么?一些有用的用例?
解决方案
我很确定 ES2015 中添加的“案例”只是为了标准化浏览器已经实现的规则,以便与编写得非常糟糕(或奇怪地缩小)的脚本兼容。它并不完全是一个新功能,它只是对规范的调整,以符合浏览器已经在做的事情。
例如,您的代码片段在 2013 年发布的 IE11 中运行:
do {} while (false) var a = 42;
console.log('no parse errors');
推荐阅读
- java - CardView 滑动动作 - Material - Android Java
- javascript - 链接头标签内的外部javascript文件不起作用
- python - 如何在 (for item in list) 循环内访问列表的下一项?(Python 3)
- php - 仅在某些智能手机上输出缓冲区 php 时出现白屏
- r - 随着 y 值的增加重新排序 ggplot 条形图
- php - 从 laravel 中的数据库动态填充语言翻译数组
- vhdl - 是否有命令修改modelsim中的整数范围
- python - 如何在不附加键的情况下将字典附加到 csv
- javascript - OnClick 下拉菜单的位置错误
- javascript - WebGL:使用不同的程序渲染大量对象