# Script Interpolation
Within a `"
#->
Julia tuples and vectors are serialized as Javascript array. Integers,
boolean, and floating point values are handled. As special cases,
`nothing` is represented using `undefined` and `missing` using `null`.
v = Any[true, 1, 1.0, nothing, missing]
@htl ""
#->
This translation attempts to convert numbers properly.
v = (-Inf, Inf, NaN, 6.02214e23)
@htl ""
#->
Dictionaries are serialized as a Javascript object. Symbols are
converted to string values.
v = Dict(:min=>1, :max=>8)
@htl ""
#->
Besides dictionary objects, we support named tuples.
v = (min=1, max=8)
@htl ""
#->
String values are escaped to avoid ``, and `<\!-- no injection!"
## JavaScript
Sometimes you already have content that is valid Javascript. This can be
printed directly, without escaping using a wrapper similar to `HTML`:
using HypertextLiteral: JavaScript
expr = JavaScript("""console.log("Hello World")""")
@htl ""
#->
The `JavaScript` wrapper indicates the content should be directly
displayed within a `"text/javascript"` context. We try to catch content
which is not properly escaped for use within a `"""
@htl ""
#-> …ERROR: "Content within a script tag must not contain ``"⋮
Similarly, a comment sequence is also forbidden.
expr = ""
@htl ""
#-> …ERROR: "Content within a script tag must not contain `