JavaScript variables can hold different types of values because it is dynamically typed. This means the same variable can hold values of different types at different times. JavaScript supports several data types, broadly categorized into two types: primitive and object types.
Primitive Data Types
Primitive types are defined by JavaScript and represent a single value. They include:
I. String
Represents textual data. It’s how you work with text in JavaScript.
let name = "John Doe";
let greeting = 'Hello, world!';
II. Number
Represents both integer and floating-point numbers. JavaScript uses double-precision floating-point format for all its numeric operations.
let age = 25; // Integer
let price = 99.99; // Floating-point number
III. Boolean
Represents a logical entity and can have two values: true
and false
. Useful in conditional operations.
let isAvailable = true;
let isOverAge = false;
IV. Undefined
A variable that has not been assigned a value has the value undefined
.
let job;
console.log(job); // undefined
V. Null
Represents the intentional absence of any object value. It’s often used to indicate “no value” or “unknown value.”
let result = null;
VI. Symbol
A unique and immutable data type introduced in ES6, used as the key of an object property.
let id = Symbol("id");
VII. BigInt
An extension of the Number data type that supports integers of arbitrary length.
let largeNumber = BigInt(9007199254740991);
Object Types
I. Object
The Object data type is used to store collections of data or more complex entities. An object is created using curly braces {}
and can contain properties and methods.
let person = {
name: "John Doe",
age: 30,
greet: function() {
console.log("Hello");
}
};
Note on Arrays, Functions, and Dates
While technically objects, arrays, functions, and dates are often considered separate types because of their unique characteristics and roles in JavaScript programming.
I. Array
Used to store multiple values in a single variable. Arrays are zero-indexed, and their length is dynamic.
let fruits = ["Apple", "Banana", "Cherry"];
II. Function
Functions are objects with the capability of being called. They are used to define code blocks that can be executed multiple times.
function greet(name) {
console.log("Hello, " + name);
}
III. Date
Used to work with dates and times.
let now = new Date();
IV. Typeof Operator
To find the type of a JavaScript variable, use the typeof
operator.
console.log(typeof "John Doe"); // "string"
console.log(typeof 25); // "number"
console.log(typeof true); // "boolean"
console.log(typeof Symbol("id")); // "symbol"
console.log(typeof null); // "object" (this is considered a bug in JavaScript)
console.log(typeof {}); // "object"
console.log(typeof []); // "object" (Array is a type of object)
console.log(typeof function(){}); // "function"
Understanding JavaScript’s data types and their characteristics is fundamental to writing effective code. It helps in managing the way data is stored, manipulated, and represented in your applications.