JScript で UTF-8 + LF は Edge エンジンでもだめだった
- カテゴリ:
- JavaScript
- コメント数:
- Comments: 0
◆ 正しいプログラムなのに syntax error になるところがある
Windows のかんたんなバッチ処理をしたかったのですが bat ファイルは色々とつらいです
コマンドプロンプトの echo がわけわからなすぎ
今回必要だったのは Windows10 だけだったので JScript を Edge エンジンで動かせばいいやということで JavaScript を書いてたのですが はまりました
UTF-8 + LF になっていると Edge エンジンでも構文エラーになることがありました
上のコードを a.js に UTF-8 + LF 形式で保存して実行します
すると
a.js(2, 1) Microsoft JScript compilation error: Syntax error
特に構文はおかしくないのですがエラーになります
デフォルトエンジンならすごく古いのでありえそうですが Edge エンジンでもエラーになります
具体的な原因がよくわかりませんが
こうすればエラーはでませんでした
また 一行目のコメントをなくしてもでません
UTF-8 から SJIS にしたり LF を CRLF にしてもでません
もしかして と思って Edge でこの JavaScript のファイルを開いてみましたが さすがにエラーはでていません
Edge のエンジンが使えても JScript なんて過去のものは使うべきじゃないのかもしれないです
もしかすると BOM をつければできたりしないかな っと試してみました
a.js(1, 1) Microsoft JScript compilation error: Invalid character
BOM に対して不正な文字です って言われました
BOM は非対応のようです
どうしようもないですね
UTF-8 + LF 以外はできる限りさけたいのに
コマンドプロンプトの echo がわけわからなすぎ
今回必要だったのは Windows10 だけだったので JScript を Edge エンジンで動かせばいいやということで JavaScript を書いてたのですが はまりました
UTF-8 + LF になっていると Edge エンジンでも構文エラーになることがありました
// る
function fn(){
}
function fn(){
}
上のコードを a.js に UTF-8 + LF 形式で保存して実行します
すると
a.js(2, 1) Microsoft JScript compilation error: Syntax error
特に構文はおかしくないのですがエラーになります
デフォルトエンジンならすごく古いのでありえそうですが Edge エンジンでもエラーになります
具体的な原因がよくわかりませんが
// る
function fn(){}
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 以外はできる限りさけたいのに