私は番号を受け取り、type = 3
それがこの列挙型に存在するかどうかを確認する必要があります:
export const MESSAGE_TYPE = {
INFO: 1,
SUCCESS: 2,
WARNING: 3,
ERROR: 4,
};
私が見つけた最良の方法は、すべての列挙値を配列として取得し、それにindexOfを使用することです。しかし、結果のコードはあまり判読できません。
if( -1 < _.values( MESSAGE_TYPE ).indexOf( _.toInteger( type ) ) ) {
// do stuff ...
}
これを行う簡単な方法はありますか?
これはES6では機能しますが、ES5では機能しません
—
Tim Schoch
@TimSchoch
—
Kevin Babcock '26
!!MESSAGE_TYPE[type]
値が存在するかどうかを確認するだけです。MESSAGE_TYPE[type]
の値がtype
存在しない場合はundefinedを返しますMESSAGE_TYPE
@Kevin Babcock
—
インゴビュルク2018
0
ただし、列挙値の1つに失敗すると、にマップされます。
@インゴビュルク素晴らしいポイント!明示的なチェックが行われると思います
—
Kevin Babcock
MESSAGE_TYPE[type] !== undefined
if(Object.values(MESSAGE_TYPE).includes(+type)
?できることは多くありません。