JAVASCRIPT

JavaScript Braces: Syntax, Usage, and Examples

Braces in JavaScript, written as { and }, are used to define blocks of code. These blocks are essential for grouping statements that belong together in functions, conditionals, loops, and objects.

How to Use Braces in JavaScript

JavaScript braces define the start and end of a code block. These are also referred to as curly braces.

function greetUser() {
  console.log("Hello!");
}

In this example, everything inside the { and } is part of the function's body. The open brace { starts the block, and the closing brace } ends it.

Braces are required in most situations where you group multiple statements, such as:

  • Function bodies
  • Conditional blocks
  • Loops
  • Object literals
  • Try-catch blocks

When to Use JavaScript Braces

JavaScript braces are used every time you define a code block. Here are some of the most common scenarios:

Functions

Every JavaScript function uses curly braces to contain the code that runs when the function is called.

function sayHi(name) {
  console.log("Hi, " + name);
}

Without these braces, JavaScript wouldn’t know what statements are part of the function.

Conditionals

If statements and else blocks rely on braces to group conditional logic.

if (isLoggedIn) {
  console.log("Welcome back!");
} else {
  console.log("Please log in.");
}

Each block of logic is wrapped with braces. Even though you can technically skip braces for single-line conditionals, including them makes your code more readable and less error-prone.

Loops

Braces are also used in for and while loops to define the body of the loop.

for (let i = 0; i < 3; i++) {
  console.log("Loop #" + i);
}

This grouping helps JavaScript know which statements to repeat.

Examples Using JavaScript Braces

Let’s look at several practical examples where JavaScript braces appear in day-to-day development.

1. Defining a Function

function add(a, b) {
  return a + b;
}

The curly braces here wrap everything the function does.

2. Creating a Loop

let total = 0;
for (let i = 1; i <= 5; i++) {
  total += i;
}
console.log(total); // 15

Without the braces, only the first line after the loop would be included. Braces allow multiple actions within the loop.

3. Handling Errors

try {
  someUndefinedFunction();
} catch (error) {
  console.log("An error occurred:", error);
}

In this case, the try and catch blocks each require braces to wrap the code being attempted and the fallback error handler.

Learn More About Braces in JavaScript

Curly Braces in Object Literals

JavaScript also uses curly braces to define objects. This is different from control flow braces because the braces here define a data structure rather than a code block.

const user = {
  name: "Lina",
  age: 30,
  isActive: true
}

Here, each key-value pair lives inside the braces. Don’t confuse these with control braces, though the syntax is similar, the role is different.

Nested Braces

You can have multiple levels of braces within other blocks. This happens often in functions or loops that contain conditionals.

function processScores(scores) {
  for (let i = 0; i < scores.length; i++) {
    if (scores[i] >= 50) {
      console.log("Pass");
    } else {
      console.log("Fail");
    }
  }
}

In this example, braces are used for the function, the loop, and each branch of the if-else statement. JavaScript handles nesting by keeping track of matching open and closing braces.

Omitting Braces

You might see JavaScript written without braces in single-line conditionals or loops:

if (score > 80) console.log("Great job!");

While this is allowed by the language, many developers avoid it. It becomes risky if another developer later adds a second line, assuming it’s inside the conditional.

For example:

if (score > 80)
  console.log("Great job!");
  console.log("Keep it up!");

Here, only the first console.log is inside the if block. The second always runs. That’s why consistently using braces—especially the open brace on the same line—avoids surprises.

JavaScript Braces Style Tips

JavaScript doesn’t enforce where to place the opening brace, but most teams follow these conventions:

Same-line style:

function example() {
  // code
}

Next-line style (less common in JavaScript):

function example()
{
  // code
}

Same-line style is more popular in the JavaScript community and aligns with many common linters like ESLint.

Open Brace vs. Closing Brace

The open brace in JavaScript is {, and it always needs a matching closing brace }. Forgetting to close a block is one of the most common syntax errors. Thankfully, code editors like VS Code highlight mismatched braces and auto-close them for you.

You might see an error like this:

function greet(name) {
  console.log("Hi " + name);

This function is missing its closing brace and won’t compile. Always double-check that each open brace has a corresponding closing brace.

Debugging Tips for Braces

When your JavaScript program throws a “Unexpected token }” or “Uncaught SyntaxError,” it’s often because you either forgot a brace or added an extra one.

  • Count the number of opening and closing braces
  • Use an IDE or linter to automatically detect brace mismatches
  • Format your code with a formatter like Prettier to auto-align braces

Curly Braces in ES6 Destructuring

Braces aren’t just for control flow and objects. In modern JavaScript (ES6 and beyond), braces are also used in destructuring assignments:

const user = { name: "Lina", age: 30 };
const { name, age } = user;

This use of curly braces helps extract multiple properties from an object in one go.

Learn to Code in JavaScript for Free
Start learning now
button icon
To advance beyond this tutorial and learn JavaScript by doing, try the interactive experience of Mimo. Whether you're starting from scratch or brushing up your coding skills, Mimo helps you take your coding journey above and beyond.

Sign up or download Mimo from the App Store or Google Play to enhance your programming skills and prepare for a career in tech.

You can code, too.

© 2025 Mimo GmbH