JavaScriptの基本的な処理フロー(if, switch, for in, for of, 例外)の書き方についてまとめました。
目次
if
const x = 250
if (x > 200) {
  console.log('200より大きい')
} else if (x > 100) {
  console.log('100より大きい')
} else {
  console.log('それ以外')
}  // 200より大きいswitch
const x = 250
switch(x) {
  case '100' :
    console.log('100です')
    break
  case '150' :
    console.log('150です')
    break
  default :
    console.log('その他です')
    break
}  // その他ですwhile
let x = 1
while(x < 5) {
  console.log(x)
  x++
}
// 1
// 2
// 3
// 4for
for
for (let x = 1; x < 5; x++) {
  console.log(x)
}
// 1
// 2
// 3
// 4for in
連想配列の要素を1つずつ処理するのに活用できます。
const object = {
  'key1': 'value1',
  'key2': 'value2',
  'key3': 'value3'
}
for (let key in object) {
  console.log(`key: ${key} value: ${object[key]}`)
}
// key: key1 value: value1
// key: key2 value: value2
// key: key3 value: value3for of
配列で for in を利用すると余計な値まで拾ってしまいます。
配列の場合 for of を利用します。
for (let value of [1, 2, 3]) {
  console.log(`value: ${value}`)
}
// value: 1
// value: 2
// value: 3例外
try {
  const x = y.z
} catch(e) {
  console.log('例外発生')
  console.log(e)
} finally {
  console.log('必ず通ります')
}
// 例外発生
// ReferenceError: y is not defined
//    at window.onload ((index):32)
// 必ず通りますlet|ブロックスコープ
ES2015で導入されたletを利用するとブロックスコープになります。
if (true) {
  var x = 1
}
if (true) {
  let y = 1
}
console.log(x)  // 1
console.log(y)  // Uncaught ReferenceError: y is not definedvarで定義された x はブロックの外でもアクセスできてしまいます。let で定義された y はブロックの外からアクセスできません。