Instrukcja switch

Instrukcja switch ma bardzo podobne zastosowanie do konstrukcji if else if. Wygląda ona następująco:

Jeśliwyrażeniejest równe n1 zostaną wykonane instrukcje 1 .W przeciwnym wypadkuwyrażeniezostanie porównane zn2, jeśli będą sobie równe, to zostaną wykonaneinstrukcje2. Jeśli nasze wyrażenie zostało dopasowane do żadnego przypadku, zostaną wykonane instrukcje domyślne, w naszym przypadku instrukcje3 Instrukcja break

W poprzedniej części rozdziału zauważyłeś pewnie, że po instrukcjach danego przypadku występuje instrukcja break. Aby zrozumieć dlaczego się tam znajduje musimy lepiej poznać działanie switch. Spójrzmy na jej przykład bez użyciabreak.

Przeanalizujemy teraz dokładnie powyższy kod. Jeśli wyrażenie jest równen1to sterowanie programu zostanie przeniesione do linii 3 i zostaną wykonaneinstrukcje1. Instrukcjaswitchnie zrobi nic więcej, ona tylko przeniesie sterowanie do odpowiedniej linii. Po wykonaniu linii 3 program przejdzie do linii 4 itd. Zostaną wykonaneinstrukcje2orazinstrukcje3. Teraz już się pewnie domyślasz za co jest odpowiedzialna instrukcjabreakJej zadaniem jest przeniesienie sterowania poza aktualny blok kodu, czyli w naszym przypadku poza}. Zapomnienie obreakw tym przypadku jest poważnym błędem o którym niestety nie zostaniemy poinformowanie podczas wykonywania programu.

Instrukcjabreakznajduje jeszcze zastosowanie w innych pętlach, które poznamy w dalszej części kursu.

switch (moonPhase) {

case 'full':

console.log\('Howwwwlll!!'\);

break;

case 'mostly full':

console.log\('Arms and legs are getting harrier'\);

break;

case 'mostly new':

console.log\('Back on two feet'\);

break;

default:

console.log\('Invalid moon phase'\);

break;

}

var prompt = require('sync-prompt').prompt;

var brand = prompt('Wpisz markę ');

brand = brand.toLowerCase();

switch(brand) {

case 'bmw':

console.log\('Niemcy'\);

break;

case 'mazda':

console.log\('Japonia'\);

break;

case 'bentley':

console.log\('Wielka Brytania'\);

break;

default:

console.log\('Nie znam tej marki.'\);

};

nstrukcja break

W poprzedniej części rozdziału zauważyłeś pewnie, że po instrukcjach danego przypadku występuje instrukcjabreak. Aby zrozumieć dlaczego się tam znajduje musimy lepiej poznać działanieswitch. Spójrzmy na jej przykład bez użyciabreak.

12345678 switch(wyrazenie){casen1:instrukcje1;casen2:instrukcje2;default:instrukcje3;};

Przeanalizujemy teraz dokładnie powyższy kod. Jeśli wyrażenie jest równen1to sterowanie programu zostanie przeniesione do linii 3 i zostaną wykonaneinstrukcje1. Instrukcjaswitchnie zrobi nic więcej, ona tylko przeniesie sterowanie do odpowiedniej linii. Po wykonaniu linii 3 program przejdzie do linii 4 itd. Zostaną wykonaneinstrukcje2orazinstrukcje3. Teraz już się pewnie domyślasz za co jest odpowiedzialna instrukcjabreakJej zadaniem jest przeniesienie sterowania poza aktualny blok kodu, czyli w naszym przypadku poza}. Zapomnienie obreakw tym przypadku jest poważnym błędem o którym niestety nie zostaniemy poinformowanie podczas wykonywania programu.

we can turn to aswitchstatement to write more concise and readable code.

Note: To a computer, aswitchstatement and anif/elsestatement are the same, but aswitchstatement can be easier for other humans to read. Part of being a good developer is writing code that both computers and other humans can read.

switchstatements look like this:

var
groceryItem
=
'papaya'
;


switch
 (
groceryItem
) {

case
'tomato'
:

console
.
log
(
'Tomatoes are $0.49'
);

break
;

case
'lime'
:

console
.
log
(
'Limes are $1.49'
);

break
;

case
'papaya'
:

console
.
log
(
'Papayas are $1.29'
);

break
;

default
:

console
.
log
(
'Invalid item'
);

break
;
}
  1. The switch keyword initiates the statement, and is followed by ( ... ) , which contains the condition that each case will compare to. In the example, the condition is groceryItem .
  2. Inside the block, { ... } , there are case s. case is like the else if part of an if / else if / else statement. The word following the first case is 'tomato' . If groceryItem equalled 'tomato' , that case's console.log would run.
  3. groceryItem equals 'papaya' , so the first and second case statements are skipped. The third case runs since the case is 'papaya' matches groceryItem 's value. This particular program will log out: 'Papayas are $1.29' .
  4. Then the program stops with the break keyword. This keyword will prevent the switch statement from executing any more of its code.
  5. At the end of each switch statement, there is a default condition. If none of the case s are true, then this code will run.

results matching ""

    No results matching ""