たとえば以下のような場合。
- CoffeeScript、Javascriptの外部スクリプトに引数を渡したい
- 外部スクリプトの定数定義を柔軟に変更可能なようにしたい
定数となる変数定義をスクリプト内に書くと、定数の値を変更したいときに再コンパイルやアップロードなどが必要になって煩雑。
以下の方法が考えられる。
- HTMLの外部スクリプト呼び出しより前に、変数定義のscript要素を書く(変数のスコープはグローバルになる)
- その際、行の末尾にセミコロン(;)をつけること
- 外部スクリプト内で上で定義した変数を利用する
HTML
1 2 3 4 |
<script> PARAM = 1; CONST_PARAM = 10; </script> |
外部スクリプト
1 2 3 4 5 |
p = PARAMETER c = CONST_PARAMETER console.log(p) # 1 console.log(c) # 10 |
CoffeeScriptも実行時にはJSにコンパイルしたものを読み込むので、変数定義もJavascriptの文法で末尾にセミコロン(;)をつけなければならない。
上の例では、定数を意識して変数名を大文字のスネークケースとしたが、通常の変数名でも実行に問題はない。