# 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.