## Data Types Variables in Lightview can be typed as any of the standard JavaScript `typeof` results with the exception of "undefined". Runtime coercion is used and errors are thrown if a value can't be coerced into the correct type. If you do not want coercion, then use the extended data types described [next](./4-extended-data-types.html). - "boolean" Since the focus of Lightview is UI management the values 1, "true", "on", "checked", "selected" all coerce to `true`. The values "false" and 0 coerce to `false`. The value `undefined` remains `undefined`, i.e. an indeterminate state. - "function" Variables of type "function" are useful for defining event listeners [as described later](./8-event-listeners.html). - "number" - "object" - "string" - "symbol" Additionally, variables can be of type "any". And, if you wish, a variable to be an instance of a particular type of object, you can use an unquoted reference to any in scope constructor, e.g. `Array` or `MyCustomConstructor`. The REPL is configured to display assignment results and errors. Try modifying the `testVariable` type and assignment. Or, cut and paste this example into the code section. Then modify `[1,2,3]` to just be `1` or "1,2,3": ```javascript currentComponent.mount = function() { this.variables({result:"any"},{reactive}); this.variables({testVariable:Array}); try { testVariable = [1,2,3]; result = testVariable; } catch(e) { result = e+""; } } ```