私は現在、「Javascript Web アプリケーション」(O'Reilly、Alex MacCaw)を読んでいますが、非常に早い段階で、HTML ドキュメント内で JS 関数を実行しているように見えるコード スニペットがありますが、<script>
タグで囲まれていません。
// template.html
<div>
<script>
function doSomething(aParam) {
/* do stuff ... */
};
</script>
${ doSomething(this.someX) }
</div>
誰か親切にドル記号中括弧表記を説明してもらえますか? 私は現在 JS を学んでいますが、これは以前に見たことがないので、コード実行の JS 省略表現 (そうであれば、セミコロンで終了しないのはなぜですか?) か、おそらく独自のテンプレートマークアップ (Ruby ? PHP?)、またはまったく別のもの?
どうもありがとう。
アップデート
後の第 5 章 (前述の本) で、Javascript templatingを紹介します。著者は、読者が本を読む前にこのテンプレート化手法に既に遭遇していると想定しているようです。Stackoverflow メンバーの Esailjaが指摘したように、この本はJavascript の初心者向けガイドではありません。私はこの本を「Javascript: The Good Parts」(O'Reilly、Douglas Crockford)などと並行して読んでいることを付け加えておきます。
私はある種のテンプレートを半ば疑っていましたが、純粋な JS テンプレートを考えたことはありませんでした。私は過去に PHP と RoR フレームワークを使用したことがありますが、これらのフレームワークもモデル データをビューに挿入するために同様のテンプレートの概念を使用していました。
最後に 1 つ: 「Javascript Web アプリケーション」を読む理由は、JS 領域内のモデル ビュー コントローラー (MVC) パターンについて説明しているからです。開発を強化および加速するためにjQuery ライブラリ(とりわけ) を使用することを提唱していますが、 jQuery API の本でも、別の新しい JavaScript ラッパーでもありません。むしろ、この本では、「Web アプリケーション」を作成する際の実際の JS のベスト プラクティスとパターンを家に持ち帰りながら、(適切な場合に) そのようなライブラリを使用してクロス ブラウザー JS の不整合に対処しています。