-->

JavaScript - Map Methods Part 3: Accessing Elements

Accessing elements in a Map is straightforward and efficient, thanks to its dedicated methods. Let’s dive deeper into two essential methods: get() and has(), with expanded explanations, use cases, and examples.

1. get() Method

The get() method retrieves the value associated with a specific key in a Map. If the key does not exist, it returns undefined.

Key Points About get():

The method works only with exact matches. It is case-sensitive and type-sensitive.

get() does not throw an error if the key is missing, making it safe to use in scenarios where the presence of the key is uncertain.

Syntax:

map.get(key);

Detailed Example:

const planets = new Map();

// Adding key-value pairs

planets.set("Earth", "Third Planet from the Sun");

planets.set("Mars", "Fourth Planet from the Sun");

planets.set(3, "Gas Giant: Jupiter");

// Accessing existing keys

console.log(planets.get("Earth")); // Third Planet from the Sun

console.log(planets.get(3));       // Gas Giant: Jupiter

// Attempting to access non-existing keys

console.log(planets.get("Venus")); // undefined

// Case-sensitivity

console.log(planets.get("earth")); // undefined (case-sensitive)

Use Cases for get():

Fetching Data by Key: Retrieving specific information when the key is known.

Handling Optional Values: Avoiding errors by returning undefined for missing keys.

2. has() Method

The has() method checks whether a specific key exists in the Map. It returns a boolean value: true if the key exists, and false otherwise.

Key Points About has():

It is often used to check for the presence of a key before performing operations like get(), delete(), or set().

Like get(), it is case-sensitive and type-sensitive.

Syntax:

map.has(key);

Detailed Example:

const planets = new Map([

  ["Earth", "Third Planet"],

  ["Mars", "Fourth Planet"],

]);

// Checking for existing keys

console.log(planets.has("Earth")); // true

console.log(planets.has("Mars"));  // true

// Checking for non-existing keys

console.log(planets.has("Venus")); // false

// Checking for type sensitivity

console.log(planets.has(42));      // false

planets.set(42, "The Answer");

console.log(planets.has(42));      // true

Use Cases for has():

Validation Before Retrieval: Ensuring that a key exists before attempting to fetch its value.

if (planets.has("Earth")) {

  console.log(planets.get("Earth")); // Safe retrieval

} else {

  console.log("Key not found");

}

Conditional Updates: Preventing overwrites of existing data.

if (!planets.has("Venus")) {

  planets.set("Venus", "Second Planet");

}