Tuesday, 4 April, 2023 UTC


Summary

The Javascript uncaught SyntaxError: Undefined label <<label name here>> might happen because one of the following reasons.
1. No other code is allowed the label declaration and its loop
The label name needs to come right after its corresponding loop. No other code is allowed between the label declaration and its loop:
// ⛔️ this will throw:
// uncaught SyntaxError: Undefined label myLabel
myLabel:
console.log('something)
for (let i = 0; i < 5; i++) { ... }

// ✅ this will work
myLabel: 
for (let i = 0; i < 5; i++) { ... }
2. Label must be declared prior to its usssage
The label must be declared BEFORE using it with a break or a continue statement:
// ⛔️ this will throw:
// uncaught SyntaxError: Undefined label myLabel 
for (let i = 0; i < 5; i++) {
    if(i  === 1) break myLabel;
}
myLabel:

// ✅ this will work
myLabel: 
for (let i = 0; i < 5; i++) {
    if(i  === 1) break myLabel;
}
Javascript labels are not meant to work as a goto statement and can be used only with prior defined simple or nested loops.
The post Fixing the Uncaught SyntaxError: Undefined label in Javascript appeared first on Js Craft.