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),
var
was the only way to declare variables in JavaScript. Variables declared withvar
are 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,
let
allows developers to declare block-scoped variables. Unlikevar
,let
does not hoist the variable to the top of the block.let age = 25;
-
const: Also introduced in ES6,
const
is used to declare variables whose values are not intended to change.const
declarations are block-scoped, similar tolet
. Attempting to reassign aconst
variable 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,
myVariable
andmyvariable
are 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