# About data types

A data type describes the kind of information a variable or ActionScript element can hold. There are two kinds of data types: primitive and reference. The primitive data types—string, number, and boolean—have a constant value and therefore can hold the actual value of the element they represent. The reference data types—movie clip and object—have values that can change and therefore contain references to the actual value of the element. Variables containing primitive data types behave differently in certain situations than those containing reference types. (See Using variables in a program.) There are also two special data types: null and undefined.

Each data type has its own rules and is described in the following topics:

- String
- Number
- Boolean
- Object
- Movieclip
- Null
- Undefined
- Function (compile-time only)
- Void (compile-time only)
- Array