Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS DSA TYPESCRIPT ANGULAR ANGULARJS GIT POSTGRESQL MONGODB ASP AI R GO KOTLIN SASS VUE GEN AI SCIPY CYBERSECURITY DATA SCIENCE INTRO TO PROGRAMMING BASH RUST

JavaScript Basic

JS HOME JS Introduction JS Where To JS Output JS Syntax JS Statements JS Comments JS Variables JS Data Types JS Let JS Const JS Operators JS Arithmetic JS Assignment JS Functions JS Objects JS Events JS Strings JS String Templates JS Numbers JS Arrays JS Dates JS Math JS Booleans JS Comparisons JS Logical JS If Else JS Switch JS Loops JS Break JS Continue JS Errors JS Scope JS Code Blocks JS UTF-8 Characters

JS Advanced

JS Versions JS Statements JS Data Types JS String Methods JS Number Methods JS Date Formats JS Array Methods JS Functions JS Objects JS Classes JS Sets JS Maps JS Loops JS RegExp JS Callbacks JS Strict Mode JS DOM JS Window JS Web API JS AJAX JS JSON JS jQuery JS Graphics JS Examples

JS References

JavaScript Objects


JavaScript Data Types

JavaScript has 8 Datatypes

A JavaScript variable can hold 8 types of data:

TypeDescription
StringA text of characters enclosed in quotes
NumberA number representing a mathematical value
BigintA number representing a large integer
BooleanA data type representing true or false
ObjectA collection of key-value pairs of data
UndefinedA primitive variable with no assigned value
NullA primitive value representing object absence
SymbolA unique and primitive identifier

Examples

// Strings
let color = "Yellow";
let lastName = "Johnson";

// Numbers
let length = 16;
let weight = 7.5;

// Bigint
let x = 1234567890123456789012345n;
let y = BigInt(1234567890123456789012345)

// Booleans
let x = true;
let y = false;

// Object
const person = {firstName:"John", lastName:"Doe"};

// Array object
const cars = ["Saab", "Volvo", "BMW"];

// Date object
const date = new Date("2022-03-25");

// Undefined
let x;
let y;

// Null
let x = null;
let y = null;

// Symbol
const x = Symbol();
const y = Symbol();

The Concept of Data Types

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:

let x = 16 + "Volvo";

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

JavaScript will treat the example above as:

let x = "16" + "Volvo";

Note

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

Example

let x = 16 + "Volvo";
Try it Yourself »

Example

let x = "Volvo" + 16;
Try it Yourself »

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

JavaScript:

let x = 16 + 4 + "Volvo";

Result:

20Volvo
Try it Yourself »

JavaScript:

let x = "Volvo" + 16 + 4;

Result:

Volvo164
Try it Yourself »

In the first example, JavaScript treats 16 and 4 as numbers, until it reaches "Volvo".

In the second example, since the first operand is a string, all operands are treated as strings.


JavaScript Types are Dynamic

JavaScript has dynamic types. This means that the same variable can be used to hold different data types:

Example

let x;       // Now x is undefined
x = 5;       // Now x is a Number
x = "John";  // Now x is a String
Try it Yourself »

JavaScript Strings

A string (or a text string) is a series of characters like "John Doe".

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

Example

// Using double quotes:
let carName1 = "Volvo XC60";

// Using single quotes:
let carName2 = 'Volvo XC60';
Try it Yourself »

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

Example

// Single quote inside double quotes:
let answer1 = "It's alright";

// Single quotes inside double quotes:
let answer2 = "He is called 'Johnny'";

// Double quotes inside single quotes:
let answer3 = 'He is called "Johnny"';
Try it Yourself »

JavaScript Numbers

All JavaScript numbers are stored as decimal numbers (floating point).

Numbers can be written with, or without decimals:

Example

// With decimals:
let x1 = 34.00;

// Without decimals:
let x2 = 34;
Try it Yourself »

Exponential Notation

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

Example

let y = 123e5;    // 12300000
let z = 123e-5;   // 0.00123
Try it Yourself »

Number Types

Most programming languages have many number types:

Whole numbers (integers):
byte (8-bit), short (16-bit), int (32-bit), long (64-bit)

Real numbers (floating-point):
float (32-bit), double (64-bit).

Javascript numbers are always double (64-bit floating point).



JavaScript BigInt

All JavaScript numbers are stored in a 64-bit floating-point format.

JavaScript BigInt is a new datatype (ES2020) that can be used to store integer values that are too big to be represented by a normal JavaScript Number.

Example

let x = BigInt("123456789012345678901234567890");
Try it Yourself »

JavaScript Booleans

Booleans can only have two values: true or false.

Example

let x = 5;
let y = 5;
let z = 6;
(x == y)       // Returns true
(x == z)       // Returns false
Try it Yourself »

Booleans are often used in conditional testing.



JavaScript Objects

JavaScript Objects represent complex data structures and functionalities beyond the primitive data types (string, number, boolean, null, undefined, symbol, bigint).

JavaScript objects are written with curly braces { }.

JavaScript objects contains a collection of different properties.

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

Example

Create a person object with 4 properties: firstName, lastName, age and eyeColor:

const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Try it Yourself »

Built-In Object Types

A JavaScrip object can represent a JavScript objects or and user defined object.

Built-in JavavaScript object types can be:

ObjectThe fundamental building block for complex data
ArrayObject of values accessed by a numerical index
DateObject for working with dates and times
RegExpObject for working with regular expressions
MapObject of key-value pairs where the keys can be of any data type
SetObject of values where each value can only appear once
ErrorObject represents error conditions during program execution
PromiseObject representing the completion or failure of an asynchronous operation
Int8ArrayArray for storing fixed-size 8-bits integer values
Int16ArrayArray for storing fixed-size 16-bits integer values
Int32ArrayArray for storing fixed-size 32-bits integer values
Float16ArrayArray for storing fixed-size 16-bits floating-point values
Float32ArrayArray for storing fixed-size 32-bits floating-point values
Float64ArrayArray for storing fixed-size 64-bits floating-point values
BigInt64ArrayArray for storing fixed-size 64-bits big integer values

Note

The list above is not complete, as JavaScript offers other built-in object types like Math for mathematic methods and values, and various other specialized objects for specific tasks.


The 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:

Example

typeof ""             // Returns "string"
typeof "John"         // Returns "string"
typeof "John Doe"     // Returns "string"
Try it Yourself »

Example

typeof 0              // Returns "number"
typeof 314            // Returns "number"
typeof 3.14           // Returns "number"
typeof (3)            // Returns "number"
typeof (3 + 4)        // Returns "number"
Try it Yourself »

JavaScript Arrays

JavaScript arrays are a special type of JavaScript objects.

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):

Example

const cars = ["Saab", "Volvo", "BMW"];
Try it Yourself »

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


Undefined

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

Example

let car;    // Value is undefined, type is undefined
Try it Yourself »

Any variable can be emptied, by setting the value to undefined. The type will also be undefined.

Example

car = undefined;    // Value is undefined, type is undefined
Try it Yourself »

Empty Values

An empty value has nothing to do with undefined.

An empty string has both a legal value and a type.

Example

let car = "";    // The value is "", the typeof is "string"
Try it Yourself »

Datatype null

In JavaScript, a variable or an expression can obtain the datatype null in several ways.

A function can return null or a variable can be assigned the null value:

Example

let carName = null;
Try it Yourself »

Note

The typeof operator returns object for null.

This is a historical quirk in JavaScript and does not indicate that null is an object.

The strict equality operator (===) compares both the value and the type of the operands.

It returns true only if both the operands values and types are null.

The loose equality operator (==) also returns true for a null value, but it also returns true if the value is undefined.

Using == is not recommended when checking for null.


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
sales@w3schools.com

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
help@w3schools.com

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2025 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.