知识卡片

块注释有风险

普通读书笔记卡 · 1490.a

内容

JavaScript 的 /* */ 块注释符号对也可能出现在正则表达式字面量里,用块注释包裹含正则的代码可能产生语法错误,更稳妥的做法是统一使用 // 行注释。发散:语法层面借用另一种语言的”小方便”,一旦与本语言已有的字面量语法重叠,就会制造出难以察觉的边界冲突,这类冲突往往只在特定内容触发时才暴露。

参考来源

- 位置:《JavaScript语言精粹(修订版)》第2章《语法 Grammar》"空白"一节 - 结论依据:原文举例说明块注释符号 `/* */` 可能与正则表达式字面量中的 `/` `*` 字符冲突,导致被注释代码产生语法错误,并因此建议避免使用块注释、统一用行注释,据此可以推出块注释存在语法风险的结论。 - 原始内容:在JavaScript中,那些字符对也可能出现在正则表达式字面量里,所以块注释对于被注释的代码块来说是不安全的……上面的注释导致了一个语法错误。所以,我建议避免使用/* */注释,而用//注释代替它。