いつでもどこでもトリプルイコール

2279 ワード

こんにちは👋🏼

今日、トリプルイコールは、オペランドの型を比較す​​るために追加のチェックを行うことに気付きました.

興奮してベンチマークを書いてみました!

私はそれのために2つの面白くてばかげた関数を書きました

ダブルイコールで

const f1 = () => {
  const v = Math.random();
  if (v === '2') {
    return true;
  }
  return false;
};


そしてトリプルイコールで

const f2 = () => {
  const v = Math.random();
  if (v == '2') {
    return true;
  }
  return false;
};


その後、ベンチマークを実行したところ、予想外のことがわかりました.

平均 f1f2 よりも 80% 高速です.何?!

関数を書き直し、文字列 '2' を番号 2 に置き換えて、再度ベンチマークを実行しました.

そのため、関数の実行時間に大きな違いはないことがわかりました.

そう.私はどのような結論を出すことができますか?

Javascript エンジンは型変換に多くの時間を費やしますが、トリプルイコールを使用してもコードの処理速度はそれほど遅くはありません.

ありがとうございました!