Study JavaScript 0415-1 hr ifelse論理演算子

21370 ワード

1. if, else, '?'


1. if


():()の条件が真の場合、コードが実行されます.
複数の文を実行する場合は、カッコ{}を使用します.
    let year = prompt('올해는 몇 년도 일까요?', '');

    if (year == 2022) {
      alert( "정답입니다!" );
      alert( "복수의 문을 실행하고 싶으면 중괄호 사용!" );
    }
ブール変換のため、0、""(空の文字列)、null、undefined、およびNaNはfalseになります.
その他の値は、ブール変換時にtrueになります.
    if (0) { // 0은 false
      alert("false");
    }

    if (1) {  // 1은 true
      alert("true");
    }
評価によって決定されたブロー済み値は、if文に次のように渡すことができます.
    let cond = (year == 2022); // 동등 비교를 통해 true/false 여부를 결정한다.

    if (cond) {
      alert("true");
    }

2. else


else:if文でelseセクションを使用できます.elseは偽の場合に実行されます.
    year = prompt('올해는 몇 년도 일까요?', '');

    if (year == 2015) {
      alert( '정답입니다!' );
    } else {
      alert( '오답입니다!' ); // 2022 이외의 값을 입력한 경우
    }
より多くの条件を使用したい場合はelse ifを使用します.
    if (age < 3) {
      message = '응애야 안녕?';
    } else if (age < 18) {
      message = '좀 큰 응애야 안녕!';
    } else if (age < 100) {
      message = '형님들 환영합니다!';
    } else {
      message = '선생님...어떤 삶을 살아오신 겁니까..?';
    }

3. '?'


条件演算子「?」条件に応じて変数に異なる値を割り当てる必要があります.
    let accessAllowed;
    let age = prompt('나이를 입력해 주세요.', '');

    if (age > 18) {
      accessAllowed = true;
    } else {
      accessAllowed = false;
    }

    alert(accessAllowed);
'?'使用する3つの演算子に置換する場合
(演算子の優先順位に従ってage>18が優先的に実行されるため、条件文をカッコで囲む必要はありません.)
    let accessAllowed = (age > 18) ? true : false;
    accessAllowed = age > 18 ? true : false;

2. OR (||), AND (&&), NOT (!)


1. OR (||)

  • OR(|):OR演算子は2つの垂直記号で表されます.
    パラメータの1つがtrueの場合はtrueを返し、そうでない場合はfalseを返します.
  •     alert( true || true );   // true
        alert( false || true );  // true
        alert( true || false );  // true
        alert( false || false ); // false
    ブール変換の例
     if (1 || 0) { 
          alert( 'truthy!' );
        }
    if文の例
        let hour = 12;
        let isWeekend = true;
    
        if (hour < 10 || hour > 18 || isWeekend) {
          alert( '영업시간이 아닙니다.' ); // 주말이기 때문임
        }
  • ORの演算順序
  • 一番左の被演算子から始まり、右に被演算子の評価を行います.
  • 角を演算子によってブール型に変換します.変換後、値がtrueの場合、演算を停止し、演算子によって変換される前に元の値を返します.
  • すべての被演算子が評価された場合(すべての被演算子がfalseと評価された場合)、最後の被演算子が返されます.OR演算子の複数のオブジェクト化は最初の真の値を返し、被演算子に真の値がない場合は最後の被演算子を返します.
        alert( 1 || 0 ); // 1 (1은 true임)
    
        alert( null || 1 ); // 1 (1은 true임)
        alert( null || 0 || 1 ); // 1 (1은 true임)
    
        alert( undefined || null || 0 ); // 0 (모두 false이므로, 마지막 값을 반환함)
  • ORの機能セグメント評価
    OR機能の進行中にTrueに遭遇した場合、他の値に触れずに評価を停止できます.
  •     true || alert("not printed");
        false || alert("printed");    // 이 메세지만 출력된다.

    2. AND(&&)


    AND(&&):AND演算子&&&&を作成するには、2つの和記号を連続的に使用します.
    すべてtrueの場合、trueが返され、1つがtrueの場合falseが返されます.
    	alert( true && true );   // true
        alert( false && true );  // false
        alert( true && false );  // false
        alert( false && false ); // false
  • ANDの演算順序
    1.一番左の被演算子から始めて、右へ、被演算子を評価します.
  • 角は演算子によってブール型に変換される.変換後の値がfalseの場合、計算は停止され、対応する演算子が変換される前に元の値が返されます.
  • が演算子によってすべて計算される(すべての被演算子がtrueとして計算される)場合、最後の被演算子が返されます.
  • AND演算子は最初のfalse値を返し、被演算子にfalse値がない場合は最後の値を返します.
    最初の被演算子がtrueの場合、ANDは2番目の被演算子を返します.
    	alert( 1 && 0 ); // 0
        alert( 1 && 5 ); // 5
    最初の被演算子がfalseの場合、ANDは最初の被演算子を返し、2番目の被演算子は無視されます.
        alert( null && 5 ); // null
        alert( 0 && "아무거나 와도 상관없습니다." ); // 0
  • ANDチェニン
  • 	// null이 false값 이므로 null 반환
        alert( 1 && 2 && null && 3 ); // null
        // 피연산자 모두 true값이므로 마지막 값 반환
        alert( 1 && 2 && 3 ); // 마지막 값, 3

    3. NOT(!)


    NOT(!) : 'NOT'論理演算子NOTは感嘆符です!として使用できます.
    NOT演算子は1つの引数のみを受け入れ、次の順序で演算を行います.
    1.被演算子をブール型(true/false)に変換します.
    2.1で変換された値を返すドメイン.
     	alert( !true ); // false
        alert( !0 ); // true
    2つのNOTを連続使用(!)これにより、値をブール型に変換できます.
    	alert( !!"non-empty string" ); // true
        alert( !!null ); // false
    ビルトイン関数Booleanを使用!!使用と同じ結果が得られます.
        alert( Boolean("non-empty string") ); // true
        alert( Boolean(null) ); // false