Start learning free

LESSON 57 OF 410 · STRINGS I

Quotes inside quotes in JavaScript

Lesson Read the full explanation

In our introduction to strings, we learned that we can use either single quotes or double quotes to create / declare a string.

Well, sometimes you'll have to choose between these two to not run into issues. Those situations are when our text contains quotation marks.

For example, suppose we want to print the string My name's Andy. If we surrond the text by single quotes:

console.log('My name's Andy');

This code would produce a SyntaxError

You can also see by the text color that we have a problem. JavaScript reads the first apostrophe and interprets that a string declaration starts there. Then it starts parsing through characters until it finds the second apostrophe and interprets that the string declaration ends there.

So it concludes that the string is 'My name' but then it cannot understand the code coming after that: s Andy');.

We can solve this by using double quotes to wrap up the text:

console.log("My name's Andy");

The output of this code is:

My name's Andy

A string declaration starting with a " can be ended only by another ". And so the interpreter will not stop when reaching the ' and will successfully read the whole string.

The same thing happens if we want to have double quotes as part of the string's content:

Surrounding by double quotes doesn't work:

console.log("Hey "bro""); // SyntaxError

Surrounding by single quotes works:

console.log('Hey "bro"'); // Output: Hey "bro"

Assignment
Follow the Coding Tutorial and let's practice with quotes!


Hint
Look at the examples above if you get stuck.


STEP 1 OF 2
    Ctrl + Enter to check

    JAVASCRIPT · STRINGS I

    Quotes Inside Quotes in JavaScript, explained

    Introduction

    In this lesson, we will explore how to handle quotes inside strings in JavaScript. This is a fundamental concept that is crucial for writing clean and error-free code. Understanding how to properly use quotes inside strings can help you avoid common syntax errors and make your code more readable.

    Quotes inside strings are particularly useful in scenarios where you need to include dialogue, HTML attributes, or any text that contains quotation marks.

    Understanding the Basics

    In JavaScript, strings can be declared using single quotes (') or double quotes ("). However, when a string itself contains quotes, you need to be careful about how you declare it to avoid syntax errors.

    For example, if you want to include an apostrophe in a string, you should use double quotes to declare the string:

    console.log("My name's Andy");

    Similarly, if you want to include double quotes inside a string, you should use single quotes to declare the string:

    console.log('Hey "bro"');

    Main Concepts

    The key concept here is to use the opposite type of quotes for the string declaration compared to the quotes you want to include inside the string. This ensures that the JavaScript interpreter correctly identifies the start and end of the string.

    Let's break down the examples:

    // Using double quotes to include an apostrophe
    console.log("My name's Andy"); // Output: My name's Andy
    
    // Using single quotes to include double quotes
    console.log('Hey "bro"'); // Output: Hey "bro"

    Examples and Use Cases

    Here are some more examples to illustrate different scenarios:

    // Including both single and double quotes
    console.log('She said, "It\'s a beautiful day!"'); // Output: She said, "It's a beautiful day!"
    
    // Using backticks for template literals
    console.log(`He said, "It's a wonderful world!"`); // Output: He said, "It's a wonderful world!"

    In the first example, we use a backslash (\) to escape the apostrophe inside the single-quoted string. In the second example, we use backticks (`) for template literals, which allow for both single and double quotes without escaping.

    Common Pitfalls and Best Practices

    One common mistake is forgetting to escape quotes inside strings, which leads to syntax errors. Always remember to use the opposite type of quotes for the string declaration or escape the quotes inside the string.

    Best practices include:

    • Using template literals (`) for strings that contain both single and double quotes.
    • Escaping quotes inside strings when necessary.
    • Keeping your code clean and readable by consistently using one type of quote for string declarations.

    Advanced Techniques

    For more complex scenarios, you can use template literals, which allow for multi-line strings and embedded expressions:

    const name = "Andy";
    console.log(`My name's ${name} and I said, "Hello!"`); // Output: My name's Andy and I said, "Hello!"

    Template literals are enclosed by backticks (`) and can contain placeholders for variables and expressions, making them very powerful for dynamic string creation.

    Code Implementation

    Here is a well-commented code snippet demonstrating the correct use of quotes inside strings:

    // Example 1: Using double quotes to include an apostrophe
    console.log("My name's Andy"); // Output: My name's Andy
    
    // Example 2: Using single quotes to include double quotes
    console.log('Hey "bro"'); // Output: Hey "bro"
    
    // Example 3: Using backticks for template literals
    const name = "Andy";
    console.log(`My name's ${name} and I said, "Hello!"`); // Output: My name's Andy and I said, "Hello!"

    Debugging and Testing

    When debugging code related to strings, always check for unmatched quotes and ensure that any quotes inside the string are properly escaped or use the opposite type of quote for the string declaration.

    To test your functions or scripts, you can use console logs or write unit tests. Here is an example of a simple test case:

    function greet(name) {
      return `Hello, ${name}!`;
    }
    
    // Test case
    console.log(greet("Andy")); // Expected output: Hello, Andy!

    Thinking and Problem-Solving Tips

    When approaching problems related to strings and quotes, break down the problem into smaller parts. Identify where the quotes are needed and choose the appropriate type of quote for the string declaration. Practice with different scenarios to become more comfortable with handling quotes inside strings.

    Conclusion

    In this lesson, we covered how to handle quotes inside strings in JavaScript. We discussed the importance of using the opposite type of quotes for the string declaration and provided examples and best practices. Mastering this concept is essential for writing clean and error-free code.

    Keep practicing and exploring different scenarios to become proficient in handling quotes inside strings.

    Additional Resources

    Keep going with JavaScriptAbout 340 step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free