udy JavaScript 0418-1 Hrスイッチ文
10831 ワード
スイッチドア
1.一般的なスイッチドア
複数のifゲートはスイッチゲートで代用できます.
switch文は1つ以上のcase文からなり、defaultは必要ありません. switch(x) {
case 'value1': // if (x === 'value1')
...
[break]
case 'value2': // if (x === 'value2')
...
[break]
default:
...
[break]
}
コードのプロセス
switch(x) {
case 'value1': // if (x === 'value1')
...
[break]
case 'value2': // if (x === 'value2')
...
[break]
default:
...
[break]
}
let a = 2 + 2;
switch (a) {
case 3:
alert( '비교하려는 값보다 작다. 다음 case문으로 이동' );
break;
case 4:
alert( '비교하려는 값과 일치한다. 멈춘다.' );
break;
case 5:
alert( '비교하려는 값보다 크다.' );
break;
default:
alert( "조건에 맞는 값이 없다." );
}
上のコードにbreakがなければどうなりますか? let a = 2 + 2;
switch (a) {
case 3:
alert( '비교하려는 값보다 작습니다.' );
case 4:
alert( '비교하려는 값과 일치합니다.' );
case 5:
alert( '비교하려는 값보다 큽니다.' );
default:
alert( "어떤 값인지 파악이 되지 않습니다." );
}
これは上のコードでbreakだけを削除したコードです.これによりcase 4から、その後のすべてのalertが実行されます.
2.複数のcase文をバンドルする
let a = 3;
switch (a) {
case 4:
alert('계산이 맞습니다!');
break;
case 3: // 두 case문 묶기
case 5:
alert('계산이 틀립니다!');
alert("다시 계산해 보세요!");
break;
default:
alert('계산 결과가 이상하네요.');
}
case 3と5は同じメッセージを表示し、case 3が本当であれば、breakがなく、case 5はbreakに遭遇する前にbreakがないため、コードは実行され続けます.3.資料型の重要性
switch文はマッチング比較により条件を確認する.
比較する値がcase文の値のタイプと値と同じである場合、case文は実行されません.
let arg = +prompt("값을 입력해주세요.");
switch (arg) {
case '0':
case '1':
alert( '0이나 1을 입력하셨습니다.' );
break;
case '2':
alert( '2를 입력하셨습니다.' );
break;
case 3:
alert( '+prompt로 하지 않으면 이 코드는 실행되지 않는다!' );
break;
default:
alert( '알 수 없는 값을 입력하셨습니다.' );
}
0または1を入力すると、最初のalert文が実行されます.
2を入力すると、2番目のalert文が実行されます.
3を入力しても、3番目のalert文は実行されません.
これはprompt関数が文字列を返すため、文字列「3」と数値型3のタイプ自体が異なるためdefault文が実行されます.
case 0,1のalert文は実行できません.
Reference
この問題について(udy JavaScript 0418-1 Hrスイッチ文), 我々は、より多くの情報をここで見つけました https://velog.io/@toffg6450/Study-JavaScript-0418-1hrswitch-문テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol