JavaScript Variables: Declarations, Types, and Scopes

UltraCrispVirginiaBeach avatar
UltraCrispVirginiaBeach
·
·
Download

Start Quiz

Study Flashcards

5 Questions

Which keyword in JavaScript is not hoisted?

let

What will happen if you refer to a 'let' variable before its declaration?

ReferenceError

Which of the following is a valid JavaScript variable name?

$myTest

What data type represents the absence of any object value in JavaScript?

Null

Where are variables declared with 'let' and 'const' accessible in JavaScript?

Block Scope

Study Notes

JavaScript Variables

JavaScript variables are an essential part of the language as they allow you to store and manipulate data within your programs. In this article, we will discuss declaring variables, variable scope, variable naming conventions, variable types, and variable initialization.

Declaring Variables

To declare a variable in JavaScript, you can use any of the following keywords: var, let, or const. Each keyword is used for a specific purpose:

  • var is a keyword that was used historically but is not recommended for modern JavaScript.
  • let was introduced in ES6 and is recommended for block-scoped variables.
  • const was also introduced in ES6 and is recommended for block-scoped constants, meaning the variable's value cannot be changed.

Declaration and Initialization

To declare and initialize a variable at the same time, you can use the = sign to assign a value to the variable:

let x = 10;

Reassignment

Variables declared with let and var can be reassigned with new values:

let x = 10;
x = 20;

Constants

Variables declared with const cannot be reassigned after their initial assignment:

const pi = 3.14;
pi = 3.14159; // Error: Cannot reassign a const variable

Hoisting

JavaScript variables are hoisted, which means they are moved to the top of their containing scope during compilation. However, unlike var declarations, let and const declarations are not hoisted, and you will get a ReferenceError if you refer to them before their declaration:

console.log(x); // ReferenceError
let x = 5;

Variable Naming Conventions

Variable names in JavaScript must follow these rules:

  • They must begin with a letter, underscore (_), or dollar sign ($).
  • They can contain letters, numbers, underscores, and dollar signs.
  • They are case-sensitive.

Avoid using reserved words or special characters as variable names:

// Valid variables
let test = 10;
let _private = "secret";
let $money = 100;

// Invalid variables
let 1test = 10; // Started with letter 1
let *test = "value"; // Started with special character (*)

Variable Types

JavaScript is dynamically typed, which means that variables can change types during execution. There are two main types of data types in JavaScript:

Primitive Data Types

  • Number: Can be an integer or a floating-point number.
  • String: Represents text data.
  • Boolean: Represents true or false.
  • Null: Represents the absence of any object value.
  • Undefined: Represents the value of a variable that has not been initialized or has not been assigned a value.

Composite Data Types

  • Object: Represents a collection of key-value pairs.
  • Array: Represents a collection of elements.

Variable Initialization

A variable can be initialized with a value when it is declared, or it can be initialized later in the code:

let x;
x = 10;

Variable Scope

Variables have different scopes based on how and where they are declared:

Global Scope

Variables declared outside of any function or block are accessible throughout the program.

let globalVar = 10;
console.log(globalVar); // Output: 10

Function Scope

Variables declared inside a function are only accessible within that function.

function myFunction() {
  let localVar = 10;
  console.log(localVar); // Output: 10
}

Block Scope

Variables declared with let and const are block-scoped, meaning they are only accessible within the block they are declared in.

if (true) {
  let blockVar = 10;
  console.log(blockVar); // Output: 10
}

Nested Scope

Variables can be declared in nested scopes, with variables in a child scope shadowing variables in a parent scope.

let x = 10;
function myFunction() {
  let x = 20;
  console.log(x); // Output: 20
}

In conclusion, understanding variables in JavaScript is crucial for working with the language effectively. By knowing how to declare, initialize, and use variables, you can create robust and efficient JavaScript programs.

Explore the fundamentals of JavaScript variables including declaring variables using var, let, or const, initialization, reassignment, naming conventions, data types (primitive and composite), and variable scopes (global, function, block, and nested scopes). Enhance your understanding of how variables work in JavaScript for efficient programming.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free
Use Quizgecko on...
Browser
Browser