白猫のメモ帳

C#とかJavaとかJavaScriptとかHTMLとか機械学習とか。

JavaScriptのコメントって

実はHTMLみたいなコメントが書ける。

> <!-- "1" -->
undefined

なるほどね。

> <!--
  "1"
  -->
'1'

なるほどね?

> <!--  "1"
undefined
> "1" <!--  
'1'
> -->  "1"
undefined
> "1" -->  
Uncaught SyntaxError: Invalid left-hand side expression in postfix operation
> /* "1" */ -->
undefined

なるほどね???

ECMAScriptの仕様を見てみると。
ECMAScript® 2023 Language Specification

HTMLコメントの開始タグも終了タグもその後ろが1行コメントの扱いになるらしい。
そして、終了タグの手前にはスペースとコメントだけ書ける。
まぁ非推奨みたいですが。

これあれですよね。
古のHTMLでブラウザがJavaScriptを認識できないときにスクリプトがそのまま画面に出てくると困るっていって書いてたこの呪文のやつ。

<script><!--
スクリプトを書く
//--></script>

なんとなくHTMLの仕様だしなと思って気にしていなかったですけど、scriptタグの中だからJavaScript側の仕様なんですね。
後方互換って大変だなぁ。