我在TypeScript中遇到了一個我無法解決的問題。枚舉中的TypeScript聯盟
下面的代碼
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,但我無法讓它工作。 有沒有可能用enums做到這一點?請注意,我將在枚舉中有許多其他條目,所以我不想混淆位運算符,因爲它很快就會變得不可讀和不可維護。
如果不可能使它與枚舉一起工作,那麼採用什麼最好的邏輯?類和子類?類型?其他?
這是不可能平等,使其 - 如果攻擊等於PowerAttack和攻擊等同於MagicAttack,然後PowerAttack必須等於MagicAttack。 – artem
*我試圖做測試。攻擊等於test.PowerAttack AND test.MagicAttack *如何在同一時間等同於兩件不同的事情?通過「平等」,你的意思是「匹配」在按位意義?你是指'或'('|')而不是'和'('&')(大概不合邏輯和('&&')? – 2016-10-05 03:52:05
順便說一句,你說「無效」是什麼意思?編輯對我來說很好(儘管現在它可能不會做你想做的) – 2016-10-05 03:54:52