Skip to content

FAQ

レベルのトップ変数は削除される

ソースタイプが module である場合、レベルのトップ変数は削除されます。これは、モジュールコード内のトップレベル変数は他のモジュールからアクセスできないためです。逆に、スクリプトコード内のトップレベル変数はグローバル変数として扱われ、他のスクリプトからアクセス可能になります。トップレベル変数を保持したい場合は、.mjs というファイル名を使用しないか、module オプションを有効にしないでください。

文字列内の改行は削除されない

文字列内の改行がミニファイドコードで \n に置き換えられず、そのまま残されていることに驚くかもしれません。この振る舞いは、文字列エスケープシーケンス \n が2バイトであるのに対し、改行文字自体は1バイトであるためです。

js
// こちらのコードは16バイト
const foo="a\nb"

// こちらのコードは15バイト
const foo=`a
b`