Если это действительно точное значение javascript, которое вы имели:
target.dataItem && target.dataItem.index & 2 == 2
Тогда это то же самое, что
target.dataItem && target.dataItem.index & (2 == 2)
target.dataItem && target.dataItem.index & true
Значение true будет автоматически принудительно javascript как 1
, но TypeScirpt не будет делать это неявно.
, поэтому, если вы напишите это:
target.dataItem && target.dataItem.index & 1
или
target.dataItem && target.dataItem.index & +true
в TypeScript, он компилирует и выполняет так же, как ваш выше javascript.
В противном случае ваш javascript уже был неправильным, и один из других ответов здесь уже предлагает вам различные исправления.