ビット演算でフラグをまとめる
実践JavaScript / 全 5 枚
実践JavaScript - ビット演算でフラグをまとめる
独立した設定を1つの数値で持つ
公開・注目・新着のように、それぞれが独立して立つ設定があります。真偽値を3つ並べる代わりに、桁を1つずつ割り当てた数値1つで持つ書き方があります。
5 という数字そのものに意味はありません。2進数で見たときに、どの桁が 1 になっているかだけを見ます。
1 と 4 を | でつなぐと、1桁目と3桁目が立った 5 になります。
const PUBLISHED = 1; // 001
const FEATURED = 2; // 010
const NEW = 4; // 100
let flags = PUBLISHED | NEW;
console.log(flags); // 51 / 5
← → キーでも送れます