re: Did you know that JavaScript has had labels since ES3?!? VIEW POST

re: The only decent use case is to break out of multiple loops. In PHP we have e.g. continue 2; (continue the parent loop), or break 3; (break the gr...

Uh. That's even worse. Now instead of a descriptive label, one has to count the nested loops to find out what the heck this statement affects.

I don't prefer it, just stating it's there ;-)

My favourite is Swift that has continue label or break label to refer to what to continue or break, but no accompanying goto which I think is an important safety decision.


gameLoop: while square != finalSquare {
    diceRoll += 1
    if diceRoll == 7 { diceRoll = 1 }
    switch square + diceRoll {
    case finalSquare:
        // diceRoll will move us to the final square, so the game is over
        break gameLoop
    case let newSquare where newSquare > finalSquare:
        // diceRoll will move us beyond the final square, so roll again
        continue gameLoop
        // this is a valid move, so find out its effect
        square += diceRoll
        square += board[square]
print("Game over!")
Code of Conduct Report abuse