问题标签 [automatic-semicolon-insertion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
36 浏览

javascript - 有人可以解释一下“自动分号插入”如何影响 javaScript 中的“空语句”吗

有人可以解释一下 javaScript 中的“空语句”如何受到“自动分号插入”的影响MDN 网站声明空语句受到自动分号插入的影响, 尽管ECMAScript 规范 中没有说明,任何人都可以向我解释这个并且可以谁能解释一下分号空语句有什么区别

0 投票
1 回答
60 浏览

javascript - do-while 语句的 Javascript 自动分号插入

从 ES6 开始,为自动分号插入规则 1 添加了一个新的案例:

前一个标记是 ),然后插入的分号将被解析为 do-while 语句 (13.7.2) 的终止分号。

这允许人们避免行终止并编写丑陋的代码,例如:

这条规则背后的理由是什么?一些有用的用例?

0 投票
1 回答
220 浏览

visual-studio-code - 为什么VScode在输入每个字符时创建新行?

在键入每个字符时,vscode 会放置一个分号并移至下一行。在这里我曾经输入'import',但它显示为'i; 米;p; ○;r; 吨;'。我怎么解决这个问题?

这就是字符在 vscode 上的显示方式

0 投票
4 回答
1123 浏览

python - 如何从文本文件中删除元素末尾的分号到列表

如何从文本文件中删除这个分号 (;)。我的文本文件的内容:

然后python读取它如果我运行代码它总是在28末尾有分号

OUTPUT: ['28;', '28;', '28;', '28;', '28;'] 我想删除每个输出上的分号(;) 预期输出[28, 28, 28, 28 , 28]

0 投票
1 回答
503 浏览

dart - 如何在自动保存时向 Dart 代码添加分号?

我来自默认不使用分号的语言,我一直忘记添加它们。打字也很烦人;每时每刻。

是否有任何 VS Code 插件会在保存时自动添加分号?

如果在 VS Code 中不可能,那么在 IntelliJ 之类的其他编辑器中是否有可能?

0 投票
1 回答
34 浏览

php - 我可以得到一些关于在 php 中使用分号的简化解释吗?

我看过一些文章解释说,由于结束 PHP 标记 (?>),PHP 代码的最后一行不需要分号。是这种情况还是周围有任何其他理论?

0 投票
0 回答
37 浏览

javascript - 打字时如何在每个可选位置自动插入分号?

概括


我最近发现 VSCode 有一个非凡的功能,它允许您定义微调的自动空格和可选的字符处理行为,这些行为会在您键入时实时应用于您的代码。

这就是我生命中所缺少的。解析器如何插入分号并不总是很清楚,因此建议始终自己插入分号。但这可能会很费力,尤其是当这种情况存在时:

在此处输入图像描述

不幸的是,我似乎无法让它产生它所宣传的结果。请参阅下面的详细信息。

表现出不一致的行为


在此处输入图像描述

重新创建行为:设置


重新创建行为:说明


  1. 键入console.log()并按 ENTER。

    注意分号插入成功。


  1. 键入{并按 ENTER。

    键入console.log()并按 ENTER。

    请注意,格式化程序会忽略缺少的分号。


  1. 键入{并按 ENTER。

    按 DELETE 删除右大括号和光标之间的新行。

    右大括号和光标现在应该在同一行。

    按 DELETE 删除光标和右大括号之间的空白。

    键入console.log()并按 ENTER。

    注意分号插入成功。


  1. 左键单击将光标放在第 7 行右括号的右侧,然后按 ENTER。

    键入console.log()并按 ENTER。

    注意分号插入成功。


  1. 左键单击以将光标再次放在第 7 行右括号的右侧,然后按 ENTER。

    键入console.log()并按 ENTER。

    请注意,格式化程序再次忽略丢失的分号。

预期成绩


实际结果