Learning JS
Learning JS

Reputation: 9

Is it possible to add cases to switch statement in javascript?

My question divide in three questions:

1.Is it even possible ?

2.If yes can we do it with the default value ?

3.Or could with do it outside the switch statement ?

Example for questions 2:

switch(stuff) {
    case 'something':
        some event;
        break;
    case 'the case that could be add by the default element':
        some event that could happen only after the code was executed
    default:
        magic code that would add another case element
}

Example for question 3:

switch(stuff) {
    case 'something':
        some event;
        break;
    case 'the case that could be add by the magic code':
        some event that could happen only after the code was executed
    default:
        some default event
}

magic code that would be executed after the switch and that would add a case

Upvotes: 0

Views: 405

Answers (1)

nnnnnn
nnnnnn

Reputation: 150070

You can't really code JavaScript so that it will modify itself, but you can code a switch statement such that certain cases will be ignored initially and then "turned on" later:

var enableCase = false;

switch(true) {
    case stuff === 'something':
        // some code;
        break;
    case enableCase && stuff === 'the case not initially enabled':
        // some code
        break;
    default:
        // turn on previous case:
        enableCase = true;
        break;
}

Having said that, I don't really recommend doing it. There is almost certainly a more sensible way to implement this depending on the underlying problem you are trying to solve. Perhaps with an if/if else/else block that tests a flag set elsewhere.

Upvotes: 1

Related Questions