A labeled statement provides a distinct identifier to a statement or block of code, enabling precise control flow manipulation when used in conjunction withDocumentation Index
Fetch the complete documentation index at: https://docs.syntblaze.com/llms.txt
Use this file to discover all available pages before exploring further.
break or continue directives. It allows execution to jump out of, or proceed to the next iteration of, a specific enclosing structure, bypassing the default behavior of targeting only the immediately enclosing loop or switch.
Syntax
labelIdentifier: Any valid JavaScript/TypeScript identifier that is not a reserved word.statement: The code block or loop being labeled.
Control Flow Mechanics
Labeled statements alter the target of control flow directives:break labelIdentifier;Terminates the execution of the labeled statement and transfers control to the statement immediately following it. Whilebreaktypically only applies to loops andswitchstatements, a labeledbreakcan be applied to any labeled block statement.
continue labelIdentifier;Terminates the current iteration of the labeled loop and evaluates the loop’s condition for the next iteration. Unlikebreak, a labeledcontinuecan only be applied to iterative statements (for,while,do...while).
Technical Constraints and Scope
- Namespace Isolation: Labels reside in a dedicated namespace. A label identifier can share the exact same name as a variable or function in the same scope without causing a naming collision.
- Lexical Boundaries: The scope of a label is strictly limited to the statement it prefixes. Control flow cannot cross function boundaries; a
breakorcontinuecannot reference a label situated outside of its immediate enclosing function, including arrow functions or callbacks.
- Duplicate Identifiers: TypeScript throws a syntax error if overlapping (nested) statements share the same label identifier. However, identical labels are permitted if their scopes are entirely disjointed.
- Strict Mode Restrictions: Because TypeScript modules execute in strict mode by default, certain identifiers like
let,static,yield, andawaitare strictly prohibited from being used as label names.
Master TypeScript with Deep Grasping Methodology!Learn More





