JavaScript Const
JavaScript const
The const
keyword in JavaScript is used to declare variables that are intended to be immutable, meaning their values cannot be changed after they are assigned. Introduced in ECMAScript 6 (ES6), const
is block-scoped, similar to let
, and helps to maintain consistency in your code.
1. Constant Declaration
The const
keyword declares a variable with a constant value. The value assigned to a const
variable cannot be changed after initialization. However, if the constant is an object or an array, the contents of the object or array can still be modified.
Constant Declaration Example
const pi = 3.14159;
console.log(pi); // Outputs: 3.14159
// pi = 3.14; // Error: Assignment to constant variable
In this example, attempting to reassign a new value to pi
will result in an error because pi
is declared with const
.
2. Constant Arrays and Objects
Although you cannot reassign a new array or object to a const
variable, you can still modify the contents of the array or object.
Constant Arrays Example
const numbers = [1, 2, 3];
numbers.push(4); // Valid: Modifies the contents of the array
console.log(numbers); // Outputs: [1, 2, 3, 4]
// numbers = [5, 6, 7]; // Error: Assignment to constant variable
In this example, you can modify the array numbers
by adding new elements, but you cannot reassign a new array to numbers
.
Constant Objects Example
const person = { name: 'John', age: 30 };
person.age = 31; // Valid: Modifies the contents of the object
console.log(person); // Outputs: { name: 'John', age: 31 }
// person = { name: 'Jane', age: 25 }; // Error: Assignment to constant variable
In this example, you can change the properties of the object person
, but you cannot reassign a new object to person
.
3. Block Scope
The const
keyword creates a block-scoped variable. This means the variable is only accessible within the block in which it is declared.
Block Scope Example
// Block Scope
{
const blockScopedConst = 'I am block-scoped';
console.log(blockScopedConst); // Accessible here
}
console.log(blockScopedConst); // Error: blockScopedConst is not defined
In this example, blockScopedConst
is only accessible within the block where it is declared, and trying to access it outside the block results in an error.