Variables in JavaScript are named containers for storing data values. They allow programmers to label data with a descriptive name, so the data can be easily referenced and manipulated throughout the code. Variables in JavaScript can hold any type of data, such as numbers, strings, objects, functions, and more.
Declaring Variables
JavaScript provides three keywords for declaring variables: var, let, and const.
-
var: Before ES6 (ECMAScript 2015),
varwas the only way to declare variables in JavaScript. Variables declared withvarare function-scoped or globally-scoped if declared outside of a function. They are also hoisted, meaning they can be referenced in their scope even before they are declared.var name = 'Alice'; -
let: Introduced in ES6,
letallows developers to declare block-scoped variables. Unlikevar,letdoes not hoist the variable to the top of the block.let age = 25; -
const: Also introduced in ES6,
constis used to declare variables whose values are not intended to change.constdeclarations are block-scoped, similar tolet. Attempting to reassign aconstvariable will result in a runtime error.const birthday = 'January 1, 1990';
Variable Naming Rules
When naming variables in JavaScript, there are a few rules and best practices to follow:
- Names can include letters, digits, underscores (
_), and dollar signs ($). - Names must begin with a letter,
$, or_. They cannot start with a digit. - JavaScript variable names are case-sensitive. For example,
myVariableandmyvariableare different variables. - Reserved keywords (like
if,return,function, etc.) cannot be used as variable names. - It's recommended to use camelCase naming for variables in JavaScript.
Dynamic Typing
JavaScript is a dynamically typed language, meaning you don't need to specify the type of data a variable will hold. Instead, the type is determined at runtime, and the same variable can be reassigned to hold a different type of data.
let example = 'Hello, World!'; // example is a string
example = 42; // now example is a number
example = false; // now example is a boolean
Scope
The scope of a variable determines where it can be accessed or modified in the code. As mentioned, var declarations are function-scoped or globally-scoped, while let and const declarations are block-scoped. Understanding scope is crucial for managing data effectively and avoiding unintended side effects in your code.
Use in Expressions
Variables can be used in expressions and operations, allowing for dynamic computation and manipulation of data.
let x = 10;
let y = 20;
let sum = x + y; // sum is now 30