在所有主要环境中,评论是否100%安全?

wwa*_*waw 5 javascript syntax comments

在解析之前,注释是否只是从源代码中删除了,或者它们是否可以算作换行符并破坏某些上下文中的连续性?

'foo'.replace(/f/, 'b') //f->b
     .replace(/o/, 'a') //o->a
     .replace(/o/, 'r') /*o->r*/ ;

'foo'.replace(/x/, /*matches "x"*/ 'y');

var foo = ( true !== false ) ? // bikeshed
          'bar' : /*if they're equal, which they won't be, we'll want 'baz'*/ 'baz';
Run Code Online (Sandbox Code Playgroud)

你知道,因为他们说空白是"安全的"和"无关紧要的"或其他什么,但我们都知道有例外.评论其实是否安全?

ale*_*lex 5

它们解析期间被忽略,如果解析之前它们被剥离,解析器将需要扫描输入两次.

但是,该行末尾的LineTerminator不被视为单行注释的一部分; 它由词法语法单独识别,并成为句法语法的输入元素流的一部分.这一点非常重要,因为它意味着单行注释的存在与否不会影响自动分号插入的过程

ES5评论规范.

源代码被标记化,就好像注释不存在一样.