◆ 正しいプログラムなのに syntax error になるところがある

Windows のかんたんなバッチ処理をしたかったのですが bat ファイルは色々とつらいです
コマンドプロンプトの echo がわけわからなすぎ


今回必要だったのは Windows10 だけだったので JScript を Edge エンジンで動かせばいいやということで JavaScript を書いてたのですが はまりました
UTF-8 + LF になっていると Edge エンジンでも構文エラーになることがありました

// る
function fn(){
}

上のコードを a.js に UTF-8 + LF 形式で保存して実行します

すると

a.js(2, 1) Microsoft JScript compilation error: Syntax error


特に構文はおかしくないのですがエラーになります
デフォルトエンジンならすごく古いのでありえそうですが Edge エンジンでもエラーになります


具体的な原因がよくわかりませんが

// る
function fn(){}

こうすればエラーはでませんでした
また 一行目のコメントをなくしてもでません
UTF-8 から SJIS にしたり LF を CRLF にしてもでません


もしかして と思って Edge でこの JavaScript のファイルを開いてみましたが さすがにエラーはでていません

Edge のエンジンが使えても JScript なんて過去のものは使うべきじゃないのかもしれないです

追記

マイクロソフト製のツールって UTF-8 は BOM 付きが標準で BOM なしは扱えない場合が多いです
もしかすると BOM をつければできたりしないかな っと試してみました

a.js(1, 1) Microsoft JScript compilation error: Invalid character


BOM に対して不正な文字です って言われました
BOM は非対応のようです

どうしようもないですね
UTF-8 + LF 以外はできる限りさけたいのに