# JavaScript Tagged Templates ## Metadata **Status**:: #x **Zettel**:: #zettel/fleeting **Created**:: [[2026-02-01]] ## Synopsis ```javascript function tag(strings, ...values) { return JSON.stringify({strings, values}) } const a = 1 tag`${a}` tag`${a}r` tag`l${a}` tag`l${a}r` ``` - `strings.length == values.length + 1` - `strings[i]` and `string[i+1]` are texts around `values[i]` - `strings.raw` contains the version of `strings` without processing escape sequences. - `String.raw({ raw: strings }, ...values)` will produce the same string as the string template literal.