Google Apps Script HTMLServiceで使われる3種のScriptletsの使いどころについてメモ
- Standard scriptlets
<? ... ?>
スクリプトとして実行します。結果は出力されません。 for文など処理部分を書くときはこれを使います。
- Printing scriptlets
<?= ... ?>
実行結果をページ内に出力します。 変数の中身を表示したいときなどに使います。 なお、出力時にコンテキストを解釈してエスケープが行われるようです。
- Force-printing scriptlets
<?!= ... ?>
実行結果をページ内に出力します。 こちらの場合はエスケープ処理を行いません。 以下のように変数を文字列ではなく数値として出力したいときなどに使えます。
<button onclick="pow(<?!= i ?>)"> <script> function pow(num){ return num * num; } </script>
上記の場合でPrinting scriptletsを使うと変数が文字列として出力されてしまうので、関数に文字列として渡されてしまいます。
Force-printing scriptletsなら数値として出力できます。