TypeScriptで解決できない問題があります。TypeScriptの列挙体
はここでどのように私は2つのチェックを動作させることができ、コード
enum test{
PowerAttack = 2,
MagicAttack = 5,
Attack = PowerAttack && MagicAttack //invalid
}
document.body.innerHTML = (test.PowerAttack == test.Attack).toString(); //check1
document.body.innerHTML += (test.MagicAttack == test.Attack).toString();//check2
ですか?
私はtest.Attackをtest.PowerAttackとtest.MagicAttackと同じにしようとしていますが、動作させることはできません。 enumでこれを行うことは可能ですか?列挙型には他にも多くのエントリがあるので、実際にはビット単位の演算子を混乱させたくないということに注意してください。
enumで動作させることができない場合は、採用するのに最適な論理は何ですか?クラスとサブクラス?タイプ?それ以外?
私はあなたが私たちは、他の言葉で7今test.PowerAttack
とtest.MagicAttack
はtest.Attack
で「会員」のためにテストすることができ、ビット単位として、あるいは他の二つの値のtest.Attack
を定義
enum test{
PowerAttack = 2,
MagicAttack = 5,
Attack = PowerAttack | MagicAttack
}
をしたいと仮定し
それは平等でそれを行うことは不可能だ - 攻撃がPowerAttackに等しい場合とアタックはMagicAttackと等しく、PowerAttackはMagicAttackと等しくなければなりません。 – artem
*私はtest.Attackをtestと同じにしようとしています.PowerAttackとtest.MagicAttack *何が同時に2つの異なるものと等しくなることができますか? 「等しい」とは、ビットごとの意味で「一致」を意味しますか? –
ところで、「無効」とはどういう意味ですか?あなたが指定したコードは何ですか? –