"/ /"在javascript正则表达式中有效吗?

Ami*_*mir 7 javascript regex parsing comments minify

以下代码是否有效?

function test() {
  return /\//.exec("\/");
}
alert(test());
Run Code Online (Sandbox Code Playgroud)

似乎许多javascript minifiers(包括http://jscompress.com/上的 jsmin )认为第二行的"//"是评论的开头.我认为这是"简单"实现的缩小器中的一个错误,因为我试过的所有浏览器实现都运行它没有问题.在jsfiddle上尝试一下.

pim*_*vdb 3

我有兴趣在规格中查找它,根据它它是有效的:

RegularExpressionLiteral ::
    / RegularExpressionBody / RegularExpressionFlags
RegularExpressionBody ::
    RegularExpressionFirstChar RegularExpressionChars
RegularExpressionChars ::
    [empty]
    RegularExpressionChars RegularExpressionChar
RegularExpressionFirstChar ::
    RegularExpressionNonTerminator but not * or \ or / or [
    RegularExpressionBackslashSequence
    RegularExpressionClass
RegularExpressionChar ::
    RegularExpressionNonTerminator but not \ or / or [
    RegularExpressionBackslashSequence
    RegularExpressionClass
RegularExpressionBackslashSequence ::
    \ RegularExpressionNonTerminator
RegularExpressionNonTerminator ::
    SourceCharacter but not LineTerminator
Run Code Online (Sandbox Code Playgroud)

\/视为RegularExpressionBackslashSequence,因此是 的一部分RegularExpressionBody,因此不能是//注释标记的一部分。