【JavaScript】 「いずれかの値に一致」をシンプルに書きたい

この記事は約2分で読めます。
記事内に広告が含まれています

コーディングのイメージ

こんにちは、さち です。

JavaScript で「いずれかの値に一致」するかを調べたいとき、「値」の数が多いと === を使った書き方は冗長に感じます。

シンプル簡略な書き方を勉強してみます。

スポンサーリンク

「===」は冗長に感じる

function getBool(member) {
  let bool = (member === 'kozue' || member === 'kaho' || member === 'ginko');
  return bool;
}

console.log( getBool('kozue') ); // true
console.log( getBool('megumi') );// false

「値」が一致しているかの判別には === を使う方法が一般的です。

ただ、上記の例のように、判別したい「値」の数だけ member も書かないといけません。記述は分かりやすいですが、長くなってしまうのが難点……。

もっとシンプルに書きたいです。

「includes」でシンプルに!

function getBool(member) {
  let bool = ['kozue', 'kaho', 'ginko'].includes(member);
  return bool;
}

console.log( getBool('kozue') ); // true
console.log( getBool('megumi') );// false

この方法なら member は一度書くだけ。見た目もシンプル。

includes() は「含む」という意味なので、何をしているのかも分かりやすいです。

動作の仕組み

「配列」で使える includes() メソッドは、指定した「値」が「配列」の中に存在するかを true false で返します。

つまり、一致するか調べたい「値」をすべて「配列」に入れておけば、「いずれかの値に一致」と同じ動作をします。

今回の例の場合、member の「値」が 'kozue' 'kaho' 'ginko' のいずれかに一致するかを判別できるわけです。

各ブラウザーの対応

includes() メソッドは、結構古いバージョンのブラウザーでも対応しているので、使用しても問題ないと思います。

各ブラウザーの対応の詳細は下記リンク先ページを参照できます。

Array.prototype.includes | Can I use... Support tables for HTML5, CSS3, etc
"Can I use" provides up-to-date browser support tables for support of front-end web technologies on desktop and mobile w

コメント

タイトルとURLをコピーしました