Bird
Raised Fist0
Javascriptprogramming~5 mins

String concatenation in output in Javascript - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: String concatenation in output
O(n²)
Understanding Time Complexity

When we join strings together in JavaScript, the time it takes can change depending on how many strings we combine.

We want to know how the work grows as we add more strings to join.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


let result = "";
const words = ["hello", "world", "this", "is", "fun"];
for (let i = 0; i < words.length; i++) {
  result += words[i];
}
console.log(result);
    

This code joins all words in the array into one string by adding each word one by one.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Adding each word to the growing string inside the loop.
  • How many times: Once for each word in the array.
How Execution Grows With Input

Each time we add a new word, the string gets longer, so adding takes more work than before.

Input Size (n)Approx. Operations
10About 55 steps
100About 5,050 steps
1000About 500,500 steps

Pattern observation: The work grows much faster than the number of words because each addition copies the whole string so far.

Final Time Complexity

Time Complexity: O(n²)

This means the time to join strings grows roughly with the square of the number of words.

Common Mistake

[X] Wrong: "Adding strings in a loop always takes time proportional to the number of strings (O(n))."

[OK] Correct: Each addition copies the entire string so far, so the work adds up much faster than just counting words.

Interview Connect

Understanding how string joining works helps you write faster code and shows you think about how programs grow with input size.

Self-Check

"What if we used an array to collect words first and joined them all at once at the end? How would the time complexity change?"

Practice

(1/5)
1. What does the + operator do when used between two strings in JavaScript?
easy
A. Divides the first string by the second
B. Joins the two strings together into one string
C. Multiplies the two strings
D. Subtracts the second string from the first

Solution

  1. Step 1: Understand the + operator with strings

    In JavaScript, the + operator combines two strings into one continuous string.
  2. Step 2: Recognize string concatenation

    When you write "Hello" + " World", it becomes "Hello World".
  3. Final Answer:

    Joins the two strings together into one string -> Option B
  4. Quick Check:

    String + String = Concatenation [OK]
Hint: Remember + joins strings like glue [OK]
Common Mistakes:
  • Thinking + subtracts or divides strings
  • Confusing + with arithmetic on strings
  • Forgetting to add spaces inside quotes
2. Which of the following is the correct way to concatenate the strings "Hello" and "World" with a space between them in JavaScript?
easy
A. "Hello" - " " - "World"
B. "Hello" + "World"
C. "Hello" + " " + "World"
D. "Hello" * "World"

Solution

  1. Step 1: Identify how to add space between words

    To add a space, include " " (space inside quotes) between the two strings.
  2. Step 2: Use + operator to join all parts

    Use + to join "Hello", " ", and "World" to get "Hello World".
  3. Final Answer:

    "Hello" + " " + "World" -> Option C
  4. Quick Check:

    Use + and " " for spaces [OK]
Hint: Add spaces inside quotes when joining words [OK]
Common Mistakes:
  • Forgetting the space string " "
  • Using - or * instead of +
  • Not putting quotes around the space
3. What will be the output of the following code?
let name = "Anna";
console.log("Hello, " + name + "!");
medium
A. Hello, + name + !
B. Hello, name!
C. Hello Anna
D. Hello, Anna!

Solution

  1. Step 1: Understand variable substitution in concatenation

    The variable name holds the string "Anna" and is concatenated with other strings.
  2. Step 2: Combine strings and variable value

    "Hello, " + name + "!" becomes "Hello, Anna!" when printed.
  3. Final Answer:

    Hello, Anna! -> Option D
  4. Quick Check:

    Variable value joins strings correctly [OK]
Hint: Variables inside + join as their values [OK]
Common Mistakes:
  • Printing variable name instead of value
  • Missing punctuation or spaces
  • Using commas instead of + for concatenation
4. Find the error in this code snippet:
let greeting = "Hi";
let name = "Sam";
console.log(greeting + name);

What is missing if the output should be Hi Sam?
medium
A. A space string between greeting and name
B. Quotes around the variable name
C. A comma instead of + operator
D. Semicolon after console.log

Solution

  1. Step 1: Check the concatenation result

    Currently, greeting + name joins "Hi" and "Sam" without space, resulting in "HiSam".
  2. Step 2: Add a space string between variables

    Insert " " between greeting and name: greeting + " " + name to get "Hi Sam".
  3. Final Answer:

    A space string between greeting and name -> Option A
  4. Quick Check:

    Add " " to separate words [OK]
Hint: Add " " between words to separate them [OK]
Common Mistakes:
  • Forgetting spaces in concatenation
  • Using commas instead of +
  • Thinking semicolon affects output
5. You want to create a greeting message that says Hello, John Doe! You have 5 new messages. using variables firstName, lastName, and messageCount. Which code correctly concatenates these values with spaces and punctuation?
hard
A. console.log("Hello, " + firstName + " " + lastName + "! You have " + messageCount + " new messages.");
B. console.log("Hello, " + firstName + lastName + "! You have " + messageCount + " new messages.");
C. console.log("Hello, " + firstName + " " + lastName + "! You have " + messageCount + "new messages.");
D. console.log("Hello, " + firstName + " " + lastName + "! You have " + messageCount + " new messages")

Solution

  1. Step 1: Check spacing between first and last names

    console.log("Hello, " + firstName + " " + lastName + "! You have " + messageCount + " new messages."); adds a space string " " between firstName and lastName, correctly spacing the full name.
  2. Step 2: Verify punctuation and spaces in message

    console.log("Hello, " + firstName + " " + lastName + "! You have " + messageCount + " new messages."); includes "! You have " and " new messages." with correct spaces and punctuation.
  3. Final Answer:

    console.log("Hello, " + firstName + " " + lastName + "! You have " + messageCount + " new messages."); -> Option A
  4. Quick Check:

    Use " " to separate names and punctuation correctly [OK]
Hint: Add spaces inside quotes between variables [OK]
Common Mistakes:
  • Missing space between first and last name
  • Missing space before 'new messages'
  • Omitting punctuation at the end
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard