Javascript: Data Types and Structures

Types are different variations of data that can be stored and manipulated within a program. Every programming language has its own built-in data types and structures that differ from one to another.

According to the latest ECMAScript standard, there are nine data types in Javascript.

The Primitive Types

  • Number
  • String
  • BigInt
  • Symbol
  • Boolean
  • Undefined
  • Null

and, The Structural Types

  • Object
  • Function

Checking the Type

The typeof operator in javascript returns a string that indicates the type of a variable.

const typeChecking = "This is a string"console.log(typeof typeChecking) // output: string


Represents a data type that is an integer, float, hexadecimal, octal or exponential value.

In Javascript, a Number is a double-precision 64-bit binary format IEEE 754 value, A number in javascript can store up to 17 decimal places of precision. The largest value it can hold is about 1.8×10³⁰⁸. Anything beyond that is replaced with the special number constant Infinity.

const number = 99const bigNumber = 1.8 * Math.pow(10, 307)const infinity = number * bigNumberconsole.log(number) // output: 99console.log(bigNumber) // output: 1.8e+307console.log(infinity) // output: Infinity


Represents a sequence of characters as text usually wrapped with “….” or ‘….’.

const string = "Storing a srting."
const anotherString = 'Storing another string'


Big Integer, or Bigint, can be created by appending an n at the end of an integer or by calling the BigInt() function.

Although bigint values seem like a number, they differ from number types in some way. A bigint value can not be used with Javascript’s built-in Math object and can not be mixed with regular numbers.

const bigint = 999999nconst anotherBigint = BigInt(999999)console.log(typeof bigint) // output: bigintconsole.log(typeof anotherBigint) // // output: bigint


Symbols are unique and immutable primitives that can be used as object keys. Javascript object key values can only either be a string or a symbol.

Javascript Symbol() constructor can create a symbol primitive that is guaranteed to be unique.

const sym = Symbol(1)const anotherSym = Symbol(1)console.log(sym === anotherSym) // output: false// Used as object keysconst user = [{
user1: "name1",
id: sym
user2: "name2",
id: anotherSym


Booleans are logical entities that can be either true or false.

const a = 1const b = 2const c = 1console.log(a === b) // output: flaseconsole.log(a === c) // output: true


undefined is a global object that represents the primitive value Undefined.

A variable that has no value assigned has the typeof undefined. A function returns undefined if nothing is being returned from it. Also, a method or statement can return undefined if a variable that has been evaluated contains no values.

let withoutValues;function returnsNothing () { const a = 1; const b = 2 a + b;};console.log(typeof withoutValues); // output: undefinedconsole.log(returnsNothing()); // output: undefined


The value null is written with the literal null. It represents an intentional lack of identification of any object value. The difference between null and undefined is, null is not an identifier of a global object property. It simply indicates that the variable points to no object. Often used as an initial placeholder for a variable latter to be assigned.

let withoutValues;let withNull = null;console.log(typeof withoutValues); // output: undefinedconsole.log(typeof withNull); // output: object


The object is one of Javascript’s structured data types that stores values in a {key: value} combination and is used for complex entries. An object in javascript can be declared using the Object() constructor or by using the object initializer syntax.

const user = { username: "name", id: 345, friends: ["user1", "user2"], email: ""}console.log(typeof obj) // output: object


A Function in javascript is similar to a procedure. 1st, You have to declare a function and write the necessary processing rules inside it. Then, upon calling, it calculates values passed into it as inputs and after the defined calculations it returns the output.

function addNums (a, b) { const c = 3 return a + b + c}console.log(addNums(1, 2)) // oupput: 6

So Where Does The Array Fits Into All These?

If you are exploring javascript basics and have written at least a little bit of code with it or have knowledge about basic data structures, you might wonder why array is not mentioned as a data structure type of javascript. Well, this is simply because Javascript only has Object and Function as structural types. Arrays are basically Objects with indexes as keys and elements as values underneath.

Like this,

const underneathAnArray = {
"0" : 1,
"1" : 2,
"2" : 4,
"3" : 7,
"4" : 8,
"5" : 0,

To learn more about Javascript data types and Arrays:

Data Types: