# Data Types Overview

Working with data often requires classifying individual pieces of data into _Types_, which describe how the data is structured and how it can be manipulated.

In Airkit, every value has an associated Type. This allows all values, even values that vary depending on user input, to be reliably referenced in the expected ways. For example, while it makes sense to subtract two numbers (`3 - 2`), it does not make sense to subtract a word from a number (`3 - "Airkit"`), and classifying data into established Types provides a safeguard that prevents those sort of nonsensical procedures from being called and causing bugs.

Whenever you declare a new variable, you will need to assign it a Type. Consult the reference documentation for more details on when a particular Type might be appropriate.

![](https://4185914948-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSItjRhbHaLQ4ar3DUljt%2Fuploads%2Fgit-blob-bce87b3b6be17706ddd50544e4d0d28d71db6a75%2Fdata-types-overview-v181-0.png?alt=media)
