// ==UserScript== // @name .packed.js で Template literals が正しく扱われない件の回避策 // @description TL;DR: ` のすぐ内側に " or ' を入れる。内部でそれらを使う時はエスケープ。 // ==/UserScript== /* * @title .packed.js で Template literals が正しく扱われない件の回避策 * @description TL;DR: ` のすぐ内側に " or ' を入れる。内部でそれらを使う時はエスケープ。 * @license MIT License */ /* === まとめ === * バッククォートのすぐ内側に " or ` を入れる (ES5的にはそれらによる文字列リテラル、ES6的にはTemplate literalになる) * その記号をテンプレート内で使いたい時はエスケープする (ES5的には必要なエスケープ、ES6的にはあっても困らないエスケープになる) * 改行もそのまま書いてOK (ES5的にはNGだけどJavaScript::Squishは通る、ES6的にはTemplate literal内なので) * 余分な引用符の存在は Template literal の評価に影響を与えないので、 評価後に .slice(1, -1) するだけでよい。 */ { let LET_ID = "foo"; alert(`'