<expr> < <expr> <expr> <= <expr> <expr> > <expr> <expr> >= <expr> <expr> == <expr> <expr> === <expr> <expr> is <expr> <expr> is not <expr> <expr> is empty <expr> is not empty I match <expr> <expr> matches <expr> I do not match <expr> <expr> does not match <expr> I contain <expr> <expr> contains <expr> I do not contain <expr> <expr> does not contain <expr> <expr> is empty <expr> is not empty <expr> is a <type name> <expr> is not a <type name>
is not for
Hyperscript also includes two additional operations,
contain and various syntaxes depending on what is being tested against.
match will test if the left hand side matches the CSS query, where
contains will test if the left hand side contains any matches of the given CSS query.
You can also test if a value exists or not using the
is empty and
is not empty comparisons. Hyperscript considers "empty" values to be
null, empty strings, and zero length arrays and objects. This works in the same way as the
Finally, you can test if a value is of a given type with the
is a form
Note that all comparison operators have the same precedence, but if multiple distinct operators are used the expression must be parenthesized to avoid ambiguity.
<div _="on click if <button/>.length > 1 log 'found multiple buttons!'"> Find buttons </div> <div _="on click if I match .active log 'I'm active!'"> Check if active </div>