JavaScript 2. Operator


講座:Ellyのyoutube dreamコード
2. Operator
📄 String concatenation
  • シングルクォーク(")またはダブルクォーク("")で文字を包み、プラス記号(+)で接続
  • 文字に単一のノードを使用する場合は、単一のノードの前にスラッシュを使用するか、文字を二重のドットに包む
  • \n:改行\t:タブキー
  • // 예시
    console.log('my' + ' cat');  // my cat
    console.log('1' + 2);  // 12
    console.log("hxxjxx's book");  // hxxjxx's book
    string literals
  • 変数値を計算し、文字列に含まれる文字を生成する
  • 改行または単象限使用時は文字列出力に変換
  • // 예시
    console.log(`string literals: 1 + 2 = ${1 + 2});
    
    → string literals: 1 + 2 = 3
    ✍️Numeric
  • 加算+
  • 減-
  • 区分・
  • 乗*
  • その他%
  • 平方**
  • ✍️Increment and decrement
  • 増加(++)、減少(-)演算子
  • 変数の前に加算する++最初にcounterに値を付け、次にpreIncrement変数にcounter値を割り当てる
  • // 예시
    let counter = 2;
    const preIncrement = ++counter;
    
    → counter = 3, preIncrement = 3
  • 変数に加算する++まずposiIncrement変数にcounter値を割り当ててからcounterに値を割り当てる
  • // 예시
    let counter = 2;
    const posiIncrement = counter++;
    
    → counter = 3, posiIncrement = 2
    ✍️Assignment
  • 割付(=)演算子
  • 重複は省略可能
  • // 예시
    let x = 3;
    let y = 6;
    x += y;  // x = x + y;
    x -= y;
    x *= y;
    x /= y;
    ✍️Comparison
  • 小(i<10)
  • 以下(i<=10)
  • 大(i>10)
  • 等しいかそれ以上(i>=10)
  • ✍️Logical
    || (or)
  • 값들중에 하나라도trueがあればtrueに戻る
  • 最初の値true出てから、後の値を見ずにそこに停めます
  • && (and)
  • 모든 값들이trueはtrueに戻らない
  • 最初の値false出てから、後の値を見ずにそこに停めます
  • ! (not)
  • 反転価格
  • ✍️Equality
    ==
  • loose equality
  • 타입을 변경해서 검사
  • 異なるタイプの文字「5」を数字5と比較してtrueに戻す
  • ===
  • strict equality
  • 타입을 신경써서 검사
  • 異なるタイプはfalseを返す
  • 📖 練習する
    0 == false  // true
    0 === false  // false
    '' == false  // true
    '' === false  // false
    null == undefined  // true
    null === undefined  // false
    ✍️Conditional
    if, else if, else
  • if(변수 또는 식 == 값) 사용
  • 該当する文法を実行する
  • // 예시
    const name = 'hxxjxx';
    if (name === 'hxxjxx') {
        console.log('Welcome, Hxxjxx');
    } else if (name === 'coder') {
        console.log('You are amazing coder');
    } else {
        console.log('unkwon');
    }
    
    → Welcome, Hxxjxx
    Ternary : ?
  • condition ? value1 : value2;
  • 疑問符(?)前の値がtrueの場合、ダブル(:)の前の値を返します.falseの場合、後の値を返します.
    // 예시
    const name = 'hxxjxx';
    console.log(name === 'hxxjxx' ? 'yes' : 'no');
    
    → yes
    Switch
  • switch(변수 또는 식) case 값 사용
  • 条件文中비교할 값이 많은 경우
  • if文はすべての条件を確認するが、スイッチ文が該当する条件の構文に遭遇した場合、実行時にループを同時に終了する
  • 同じフレーズを使う場合は重複しないcase를 연달아서 사용 가능
  • // 예시
    const browser = 'Chrome';
    switch (browser) {
      case 'IE':
        console.log('go away');
        break;
      case 'Chrome':
      case 'Firefox':
        console.log('love you');
        break;
      default:
        console.log('same all');
        break;
    }
    
    → love you
    ✍️Loops
    while
  • 無限反復
  • 条件がfalseになるまで
    // 예시
    let i = 3;
    while (i > 0) {
      console.log(`while: ${i}`);
      i--;
    }
    do while
  • doを先に実行し、条件を確認
  • // 예시
    let i = 0;
    do {
      console.log(`do while: ${i}`);
      i--;
    } while (i > 0);
    for
  • for(begin; condition; step)
  • // 예시
    for (let i = 0; i < 3; i++) {
      console.log(`for: ${i}`);
    }
    nested loops
  • 運転時間O(n²)
  • cpuに良くないのでなるべく避けて
  • // 예시
    for (let i = 0; i < 10; i++) {
      for (let j = 0; j < 10; j++) {
        console.log(`i: ${i}, j: ${j}`);
      }
    }
    break
    完了
  • loop
  • 📖 練習する
    // iterate from 0 to 10 and print numbers until reaching 8 (use break)
    for (let i = 0; i < 11; i++) {
      if (i > 8) {
        break;
      }
      console.log(`number: ${i}`);
    }
    continue
  • 現在を飛び越えて次のステップへ
  • 📖 練習する
    // iterate from 0 to 10 and print only even numbers (use continue)
    for (let i = 0; i < 11; i++) {
      if (i % 2 !== 0) {
        continue;
      }
      console.log(`even number: ${i}`);
    }