# `Surface.AST.Expr`
[🔗](https://github.com/surface-ui/surface/blob/v0.12.3/lib/surface/ast.ex#L69)

An AST node representing an expression which does not resolve to a value printed out to the final DOM.

## Properties
    * `:value` - a quoted expression
    * `:constant?` - true if the expression can be evaluated at compile time
    * `:meta` - compile meta
    * `:directives` - directives associated with this expression node

# `t`
[🔗](https://github.com/surface-ui/surface/blob/v0.12.3/lib/surface/ast.ex#L81)

```elixir
@type t() :: %Surface.AST.Expr{
  constant?: boolean(),
  directives: [Surface.AST.Directive.t()],
  meta: Surface.AST.Meta.t(),
  value: any()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
