Pointers in JavaScript: A Fundamental Guide

Bhagya Wijenayake
2 min readJan 25, 2024

--

Pointers are a crucial concept in programming, especially when delving into data structures. If you’re not familiar with pointers, don’t worry — we’re here to simplify the concept. We’ll compare situations with and without pointers to highlight their significance.

Understanding Without Pointers

Consider a scenario without pointers. We have two variables:

let numOne = 5;
let numTwo = numOne;

Initially, both numOne and numTwo are 5. However, when we update numOne to 10, numTwo remains 5. This happens because numTwo is not permanently tied to the changes in numOne.

Introduction to Pointers

Now, let’s contrast this with pointers. Instead of numbers, let’s use objects:

let objectOne = { value: 11 };
let objectTwo = objectOne;

In this case, when we set objectTwo equal to objectOne, we're not creating a new object; we're saying both variables point to the exact same object in memory. It's like having two pointers to the same location.

Visualizing Pointers in Action

In Dev Tools:

objectOne = { value: 22 };
console.log(objectOne.value); // Outputs: 22
console.log(objectTwo.value); // Outputs: 22

Now, changing the value in objectOne to 22 also reflects in objectTwo. Both objects share the same memory location.

Multiple Pointers

Let’s introduce another object:

let objectThree = { value: 33 };
objectTwo = objectThree;
objectOne = objectThree;

Now, objectTwo and objectOne both point to objectThree. However, if nothing points to an object, it becomes inaccessible and is eventually cleaned up by JavaScript through a process called garbage collection.

Importance of Pointers

Understanding pointers is crucial for building complex data structures, as they allow multiple variables to refer to the same underlying data. This enhances efficiency and memory management in your programs.

In conclusion, pointers in JavaScript are like arrows pointing to specific locations in memory. They enable efficient manipulation and sharing of data, making them an essential concept for any developer to grasp, especially when working on data structures.

Happy Coding!!! — Bhagya Wijenayake

--

--

Bhagya Wijenayake

Student at University of Kelaniya Sri Lanka- Software Engineering