> For the complete documentation index, see [llms.txt](https://docs.wem.io/platform/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wem.io/platform/tutorials/building-widgets/wemscript/2-variables.md).

# 2. Variables

WEMscript is a statically strongly typed language. Before you can use a variable, it must be declared using the `var` statement, with a specific type either explicitly set or inferred from its value. Every variable is prefixed with an `@` symbol. A variable's value is `unknown` when no value has been assigned yet.

```wemscript
/* Declare a boolean variable @a with an initial value of `unknownboolean` */
var @a: boolean

/* Declare a number variable @b with an initial value of `10` */
var @b := 10

/* Assign the variable @c the text "Hello" */
@c := "Hello"
```

The following types are available in WEMscript: `boolean`, `concept`, `conceptset`, `datetime`, `duration`, `file`, `list`, `number`, `richtext`, and `text`. These types correspond to those found in the data model of a WEM project. Additionally, there is a one-dimensional array type `array<T>`, where `T` can be any of the previously mentioned primitive types, except for `array`.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wem.io/platform/tutorials/building-widgets/wemscript/2-variables.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
