📚

[JavaScript]if文とswitch文、処理速度の違いは?

2022/10/07に公開約800字

検証

  • if文とswitch文それぞれ同じ処理を10000回実行してみる。
if
console.time('timer');
let i;
const name = 'Taro';

for (i = 0; i < 10000; i++) {
  if (name === 'Mike') {
    console.log('私は、マイクです。');
  } else if (name === 'Taro') {
    console.log('私は、太郎です。');
  } else {
    console.log('私は、' + name + 'です。');
  }
}
console.timeEnd('timer');
switch
console.time('timer');
let i;
const name = 'Taro';

for (i = 0; i < 10000; i++) {
  switch (name) {
    case 'Mike':
      console.log('私は、マイクです。');
      break;
    case 'Taro':
      console.log('私は、太郎です。');
      break;
    default:
      console.log('私は、' + name + 'です。');
  }
}
console.timeEnd('timer');
条件文 実行結果
if 98.288ms
swicth 101.647ms

switch文のメリット

  • 可読性が高い
  • 特にエンタープライズなどの業務的に決まった値の場合、こういう処理しますという時に適している

switch文のデメリット

  • 処理の回数が多いと、速度に影響が出る
  • 複数条件に対応しづらい
  • 三項演算子が使えない

Discussion

ログインするとコメントできます