javascript - javascript表达式中的三个分号是做什么用的?

我在这里和那里看到了一些表达式中的三元分号。
有逻辑上的作用吗?

我看到的最接近的解释是,它告诉Dean Edwards压缩器忽略该行。

;;; var someVar = 'Rebel';

最佳答案

以三个分号开头的行用于调试代码:它指示这些行不应出现在生产环境中。 Javascript通过压缩器或其他算法运行,该算法在创建优化的JS文件时会删除;;;行。

;;; console.log("only run this line when debugging!");

如上所述,三个分号实际上在Javascript中什么也不做:它仅结束三个连续的空语句。如果使用实际评论
// console.log("only run this line when debugging!");

那么当您想进入 Debug模式时,您必须进入并手动删除所有注释,然后在完成后进入并放回它们。另一种解决方案是创建一个 DEBUG变量,并将所有调试行包装在一个条件中:
var DEBUG = true;
if(DEBUG){
     console.log("only run this line when debugging!");
}

但这有点麻烦,实际上会将不需要的代码添加到您的Javascript文档中。当然,您可以通过压缩器运行JS来删除 DEBUG条件,但是到那时,您也可以只使用 ;;;方法,这种方法更简单。

有关此示例的实际示例,请参见 this question。顺便说一句,我认为语法来自 emacs