Explain Optional Catch Binding in JavaScript.

JavascriptWeb DevelopmentObject Oriented Programming

The optional catch binding introduced in ES2019 allows us to remove the surrounding parentheses of a catch binding i.e. we don’t need to use a variable to store the error object. It is useful especially if we know about the error in advance or even if want to react to an error without knowing about it.

Following is the code for the optional catch binding in JavaScript −


 Live Demo

<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
   body {
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
   .result {
      font-size: 20px;
      font-weight: 500;
<h1>Optional Catch Binding in JavaScript.</h1>
<div style="color: green;" class="result"></div>
<button class="Btn">CLICK HERE</button>
<h3>Click on the above button to generate an error</h3>
   let resEle = document.querySelector(".result");
   document.querySelector(".Btn").addEventListener("click", () => {
      try {
      resEle.innerHTML = a;
      catch {
         resEle.innerHTML = "The variable a has not been declared";


The above code will produce the following output −

On clicking the ‘CLICK HERE’ button −

Published on 16-Jul-2020 12:11:01