This tutorial will guide you through the common causes of this error “Uncaught SyntaxError: Unexpected end of input” and provide solutions to fix it.
If you encounter the “Uncaught SyntaxError: Unexpected end of input” error in your JavaScript code, it means that there is a syntax issue in your code that causes the JavaScript engine to reach the end of the file unexpectedly.
1. Missing Semicolon or Closing Brace
One of the common reasons for this error is missing a semicolon at the end of a statement or an unclosed block. Let’s examine an example:
const example1 = function() { console.log("example1"); } // ⚠️ missing semicolon here const example2 = function() { console.log("example2"); ; // ⚠️ missing closing curly brace const arr = [1, 2 // ⚠️ missing closing square bracket const obj = {age: 20 // ⚠️ missing closing curly brace
Solution:
Ensure that all statements end with a semicolon and all opening and closing braces/brackets are correctly matched:
const example1 = function() { console.log("example1"); }; // ✅ add missing semicolon here const example2 = function() { console.log("example2"); }; // ✅ add missing closing curly brace const arr = [1, 2]; // ✅ add missing closing square bracket const obj = {age: 20}; // ✅ add missing closing curly brace
2. JSON Parsing Issues
If the error occurs while parsing JSON data, the problem might be related to the JSON format.
const jsonData1 = JSON.stringify({ name: "codedamn" // ⚠️ missing comma here founder: "Mehul Mohan" }); const jsonData2 = "{"; // ⚠️ invalid json format console.log(JSON.parse(jsonData1)); // ⛔️ throws an error console.log(JSON.parse(jsonData2)); // ⛔️ throws an error
Solution:
Fix the JSON format by adding the missing comma and ensuring a valid JSON structure:
const jsonData1 = JSON.stringify({ name: "codedamn", // ✅ add missing comma here founder: "Mehul Mohan" }); const jsonData2 = {hello: "world"}; // ✅ valid json format console.log(JSON.parse(jsonData1)); console.log(JSON.parse(jsonData2));
Conclusion
If you encounter the “Uncaught SyntaxError: Unexpected end of input” error, carefully check your code for missing semicolons, braces, or brackets. Use a code linter like JSLint or ESLint to catch potential errors. For JSON parsing issues, ensure the JSON data is well-formed and valid for the intended structure. Following these steps should help you identify and fix the syntax errors causing the unexpected end of input error.