6時だョ!!全員集合!!

Rails・JavaScrictを中心にアウトプットします。

2021年10月29日 JavaScript (JS Primer) 文と式(2)

セミコロンの有無について

文の末尾にはセミコロンをつける ブロックで終わる文は例外的にセミコロンをつけなくてよい

とありますが、その上で関数式で使われているブロックの後にはセミコロンが必要です。

条件分岐

条件分岐を使うことで、特定の条件を満たすかどうかで行う処理を変更できます。

if文を1行で書く

実行する文が1行のみの場合は、{ と } のブロックを省略できます。 しかし、どこまでがif文かがわかりにくくなるため、常にブロックで囲むことを推奨します。

if (true) console.log("この行は実行されます");

if文の条件式の判定

if文の条件式にはtrueまたはfalseといった真偽値以外の値も指定できます。 真偽値以外の値の場合、その値を暗黙的に真偽値へ変換してから、条件式として判定します。

条件分岐~ここまでのまとめ

  • if文が1行のみの場合はブロック{}を省略出来ます。

  • falsyな値を条件式に指定した場合は、falseへと変換されます。

  • else ifはその前にあるif文がfalseの場合に実行され結果がtrueの場合にelse if文の中の処理が実行されます。

  • else ifが複数ある場合、trueになった時点でtrueの処理が実行されて処理が終わリます。

  • elseはif文がfalseの場合、elseに書いた処理が実行されます。

DateオブジェクトのgetFullYearメソッド

DateオブジェクトのgetFullYearメソッドを使うと、年の値を取得できます。

const year = new Date().getFullYear();
console.log(year); // => 2021

break文を省略した時の挙動

break;を省略すると、その次のcase文がtrueまたはfalseに関係なく実行されます。

const version = "ES6";
switch (version) {
    case "ES5":
        console.log("ECMAScript 5");
        break;
    case "ES6":
        console.log("ECMAScript 2015");
    case "ES7":
        console.log("ECMAScript 2016");
        break;
    default:
        console.log("しらないバージョンです");
        break;
}
// "ECMAScript 2015" と出力される
// "ECMAScript 2016" と出力される

switch文〜ここまでのまとめ
・ if文がネストしてしまう場合はswitchを使うのがおすすめです。
・ case文ではbreakで処理を終わらせます。
・ dafault節はelseと同じ役割を持っています。

参考

ESLint

Dateオブジェクトの値から年、月、分、秒などの値を取得する