JavaScript Data Types JAVASCRIPT

JavaScript Data Types  

JavaScript Data Types

JavaScript Data Types

JavaScript variables can hold many data types: numbers, strings, objects and more:

var length = 16;                               // Number
var lastName = "Johnson";                      // String
var x = {firstName:"John", lastName:"Doe"};    // Object

In programming, data types is an important concept.

To be able to operate on variables, it is important to know something about the type.

Without data types, a computer cannot safely solve this:

var x = 21 + "Deepak";

Does it make any sense to add "Volvo" to twentyone? Will it produce an error or will it produce a result?

JavaScript will treat the example above as:

var x = "21" + "Deepak";

When adding a number and a string, JavaScript will treat the number as a string.

 JavaScript evaluates expressions from left to right. Different sequences can produce different results:

var z = 21 + 4 + "Deepak";


var x = 21 + "Deepak";

var y = "Deepak" + 21;

var z = 21 + 4 + "Deepak";

JavaScript Strings

A string (or a text string) is a series of characters like "Deepak Chahar".

Strings are written with quotes. You can use single or double quotes:


var carName1 = "Volvo XC60";   // Using double quotes
var carName2 = 'Volvo XC60';   // Using single quotes

You can use quotes inside a string, as long as they don't match the quotes surrounding the string:

var answer1 = "It's alright";             // Single quote inside double quotes
var answer2 = "He is called 'Deepak Chahar'";    // Single quotes inside double quotes
var answer3 = 'He is called "Deepak Chahar"';    // Double quotes inside single quotes

JavaScript Numbers

JavaScript has only one type of number.

Numbers can be written with, or without decimals:

var x1 = 34.00;     // Written with decimals
var x2 = 34;        // Written without decimals

Extra large or extra small numbers can be written with scientific (exponential) notation:

var y = 123e5;      // 12300000
var z = 123e-5;     // 0.00123



var x1 = 34.00;
var x2 = 34;
var x3 = 3.14;

var y = 123e5;
var z = 123e-5;

JavaScript Booleans

Booleans can only have two values: true or false  and Booleans are often used in conditional testing.


var x = 4;
var y = 4;
var z = 21;
(x == y)       // Returns true
(x == z)       // Returns false

JavaScript Arrays

Array indexes are zero-based, which means the first item is [0], second is [1], and so on.

JavaScript arrays are written with square brackets.

Array items are separated by commas.

The following code declares (creates) an array called cars, containing three items (car names):


var cars = ["Tesla","Volvo","BMW"];

JavaScript Objects

JavaScript objects are written with curly braces {}.

Object properties are written as name: value pairs, separated by commas.

Let's take an example of the object (person) in this example has 4 properties: firstName, lastName, age, and eyeColor.


var person = {firstName:"Deepak", lastName:"Chahar", age:22, eyeColor:"blue"};

JavaScript - typeof Operator

You can use the JavaScript typeof operator to find the type of a JavaScript variable.

The typeof operator returns the type of a variable or an expression:


typeof 0              // Returns "number"
typeof 314            // Returns "number"
typeof 3.14           // Returns "number"
typeof (3)            // Returns "number"
typeof (3 + 4)        // Returns "number"

typeof ""             // Returns "string"
typeof "Deepak"         // Returns "string"
typeof "Deepak Chahar"     // Returns "string"

JavaScript - Undefined

In JavaScript, a variable without a value, has the value undefined. The type is also undefined.


var car;    // Value is undefined, type is undefined

Empty Values

An empty value has nothing to do with undefined. An empty string has both a legal value and a type.


var car = "";    // The value is "", the typeof is "string"

JavaScript - Null

In JavaScript null is "nothing". It is supposed to be something that doesn't exist. Unfortunately, in JavaScript, the data type of null is an object.

You can consider it a bug in JavaScript that typeof null is an object. It should be null.

You can empty an object by setting it to null:

var person = {firstName:"Deepak", lastName:"Chahar", age:22, eyeColor:"blue"};
person = null;    // Now value is null, but type is still an object

You can also empty an object by setting it to undefined:

var person = {firstName:"Deepak", lastName:"Chahar", age:22, eyeColor:"blue"};
person = undefined;   // Now both value and type is undefined 



var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = null;    // Now value is null, but type is still an object

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = undefined;   // Now both value and type is undefined

Primitive Data

A primitive data value is a single simple data value with no additional properties and methods.

The typeof operator can return one of these primitive types:

  • string
  • number
  • boolean
  • undefined


typeof "Deepak"              // Returns "string"
typeof 3.14                // Returns "number"
typeof true                // Returns "boolean"
typeof false               // Returns "boolean"
typeof x                   // Returns "undefined" (if x has no value)

Complex Data

The typeof operator can return one of two complex types:

  • function
  • object

The typeof operator returns "object" for objects, arrays, and null.

The typeof operator does not return "object" for functions.


typeof {name:'Deepak', age:34} // Returns "object"
typeof [1,2,3,4]             // Returns "object" (not "array", see note below)
typeof null                  // Returns "object"
typeof function myFunc(){}   // Returns "function"

The typeof operator returns "object" for arrays because in JavaScript arrays are objects.

Download free E-book of JAVASCRIPT

Learn Programming for Free

Join Programmers Community on Telegram

Talk with Experienced Programmers

Just drop a message, we will solve your queries