Six main data types can be grouped into three categories. In the primitive (or primary) category, we have String, Number, and Boolean. The composite category consists of Object, Array, and Function types. Undefined and Null types belong to the Special category.   The String type represents textual data (in single or double quotes). The Number data type represents positive and negative numbers with or without decimals (written with the help of decimal notation). The Boolean type holds only two values — True and False. The Undefined type consists of one value — Undefined (for declared and unassigned variables). The Null data type has only one value, and that’s null. It doesn’t mean empty string or zero, it means nothing. The Object type allows storing collections of data represented as key-value pairs.  The Array type is used for storing many objects in a single variable.  The Function type is a callable object for code block execution.