参考:goog.ui.Control 複数の状態(STATE)を、1つの変数で保持する。例えば、DISABLED状態であり、同時にHOVER状態でもある状態を1つの変数で表現する。以下、そのときのフラグの上げ下げのしかた。 まずビットマスクに使う定数を用意する。1,2,4,8,16,32...とする。 /** * @enum {number} */ var STATE = { DISABLED: 1, HOVER: 2, ACTIVE: 4, FOCUSED: 8 }; /** * @type {number} */ var state = 0; フラグが上がっているかの確認。if文で使うときは、 if (state & STATE.DISABLED) で判定できる。まだ、どのフラグも上がってない。 console.log(!!(state & STATE.DISABLED)); // f