0
0
JavascriptHow-ToBeginner · 3 min read

Strings Are Immutable in JavaScript: What It Means and How to Work With It

In JavaScript, strings are immutable, meaning once a string is created, it cannot be changed. Any operation that seems to modify a string actually creates a new string instead.
📐

Syntax

A string in JavaScript is a sequence of characters enclosed in quotes. You can create strings using single quotes, double quotes, or backticks for template literals.

Example syntax:

  • const str = 'hello'; - creates a string with single quotes
  • const str = "hello"; - creates a string with double quotes
  • const str = `hello`; - creates a template literal string

Because strings are immutable, you cannot change characters inside the string directly.

javascript
const greeting = 'hello';
// greeting[0] = 'H'; // This does NOT change the string

const newGreeting = 'H' + greeting.slice(1);
console.log(newGreeting);
Output
Hello
💻

Example

This example shows that trying to change a character in a string does not work. Instead, you create a new string with the desired changes.

javascript
const original = 'hello';
original[0] = 'H'; // This does nothing
console.log(original); // prints 'hello'

const changed = 'H' + original.slice(1);
console.log(changed); // prints 'Hello'
Output
hello Hello
⚠️

Common Pitfalls

Many beginners try to change a character in a string directly, like str[0] = 'H'. This does not work because strings are immutable. Instead, you must create a new string with the changes.

Also, methods like toUpperCase() or replace() return new strings and do not modify the original string.

javascript
const word = 'hello';
word[0] = 'H';
console.log(word); // still 'hello'

const upper = word.toUpperCase();
console.log(upper); // 'HELLO'
console.log(word); // original 'hello' unchanged
Output
hello HELLO hello
📊

Quick Reference

Remember:

  • Strings cannot be changed after creation.
  • Use string methods that return new strings to modify content.
  • Concatenate or slice strings to build new ones.

Key Takeaways

Strings in JavaScript cannot be changed once created; they are immutable.
Trying to change a character directly in a string does nothing.
String methods like toUpperCase() return new strings without modifying the original.
To change a string, create a new one using concatenation or slicing.
Always remember string operations produce new strings, not in-place changes.