JavaScript?演算子、スイッチ、繰り返し文


?? 連結演算子

let mark = null ?? undefined ?? 5

console.log(mark) // 5

let or = null || undefined || '' || 0 || 5

console.log(or) // 5
?? 演算子がnullまたはundefinedの場合、falseが返されます.
演算子は、''またはNUmber(0)でfalseを返します.

スイッチ文の使用


一般にifゲートを用いる場合が多いが,switchは可読性と効率の面でより有効である.

let num = 3

switch(num) {
  
  case 1:
    ...
  break;
  
  case 2:
    ...
  break;
  
  case 3:  
  case 4:  
  case 5:
  console.log(3, 4, 5) // 3, 4, 5
    break;
    
  default:
  ...
  break;
}
switchパラメータnumがcaseの条件と一致する場合、対応するコードが実行されます.breakを入力しない場合は、case文とswitch文の条件の一致にかかわらず、次のcaseが実行されます.
ここでnum=3となり、caseの3と値が一致するので、case 3からbreakのあるcase 5までコードを実行し続けます.このような複数のケースで同じコードまたは類似のコードを実行する必要がある場合は、switch文を使用すると、よりクリーンなコードになります.

は、文lable,break,continue

break: 반복문을 강제로 빠져나올 때 사용할 수 있다.


let sum = 0;

while (true) {

  let value = +prompt("숫자를 입력하세요.", '');

  if (!value) break; // (*)

  sum += value;
  
  
  continue: 본문에서 continue이후의 실행을 중단하고 다음차례의 반복을 실행한다.
  

  for (let i = 0; i < 10; i++) {

  // 조건이 참이라면 남아있는 본문은 실행되지 않습니다.
  if (i % 2 == 0) continue;

  alert(i); // 1, 3, 5, 7, 9가 차례대로 출력됨
}}
重複文に重複文が含まれている場合は、breakまたはcontinueを特定の重複文に対して実行できます.この場合、labelという概念が表示されます.
임의의 숫자 n에서 소수만을 출력하기 위한 반복문

let n = 10;

outer: for (let i = 2; i <= n; i++) {
  
  for (let j = 2; j < i; j++) {
    
    if (i % j === 0) continue outer;
    
  }
  
  console.log(i); // 2, 3, 5, 7
}
ここでouterはlabelです.
本明細書i/jの残りの部分が0である場合、最外部の繰返し文をスキップして次の繰返しを行う.そのためコンソールを撮影できません.