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
// 4
for
for
for (let x = 1; x < 5; x++) {
console.log(x)
}
// 1
// 2
// 3
// 4
for 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: value3
for 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 defined
var
で定義された x
はブロックの外でもアクセスできてしまいます。let
で定義された y
はブロックの外からアクセスできません。