タグ付きテンプレートを使用して、通常の関数呼び出しよりも表現力の高い API を構築できます。
たとえば、JS 配列に対する SQL クエリの概念実証ライブラリに取り組んでいます。
let admins = sql`SELECT name, id FROM ${users}
WHERE ${user => user.roles.indexOf('admin') >= 0}`
String 補間とは何の関係もないことに注意してください。読みやすくするためにタグ付きテンプレートを使用します。単純な関数呼び出しで直感的に読み取れるものを構築するのは難しいでしょう-次のようなものがあると思います:
let admins = sql("SELECT name, id FROM $users WHERE $filter",
{ $users: users, $filter: (user) => user.roles.contains('admin') })
この例は単なる楽しいサイド プロジェクトですが、タグ付きテンプレートの利点のいくつかを示していると思います。
もう 1 つの例は、おそらくより明白な i18n です。タグ付けされたテンプレートは、入力のロケールに依存したバージョンを挿入できます。