可悲的是,这个有效的代码被认为是TSLint默认设置的疏忽:
export const NO_FLAG: number = 0x0000;
export const DESTROY_FLAG: number = 0x0001;
export const NULL_FLAG: number = 0x0100;
export const START_FLAG: number = 0x0200;
export const STOP_FLAG: number = 0x0400;
export function getPackedFlags(destroy: boolean,
nullThing: boolean,
start: boolean,
stop: boolean): number {
const bitFlags: number = ((destroy) ? DESTROY_FLAG: NO_FLAG) |
((nullThing) ? NULL_FLAG: NO_FLAG) |
((start) ? START_FLAG: NO_FLAG) |
((stop) ? STOP_FLAG: NO_FLAG);
return bitFlags;
}这样做会产生这样的输出:
tslint --project ./tsconfig.json -格式详细--强制
ERROR: (no-bitwise) C:/git/my-stuff/src/index.ts[393, 34]: Forbidden bitwise operation
ERROR: (no-bitwise) C:/git/my-stuff/src/index.ts[393, 34]: Forbidden bitwise operation
ERROR: (no-bitwise) C:/git/my-stuff/src/index.ts[393, 34]: Forbidden bitwise operationTSLint的作者有一种将其设置为默认错误的策略。但是,类型抄本编译器和正确的编程使用表明,这是正确地使用use运算符。在您打算按位使用的情况下,称其为错误完全是愚蠢的。
我不知道如何逐个解决这个问题,但是保持全局设置不变。
发布于 2018-06-13 23:08:03
幸运的是,您可以在单行基础上禁用它,如下所示:
export function getPackedFlags(destroy: boolean,
nullThing: boolean,
start: boolean,
stop: boolean): number {
// tslint:disable-next-line:no-bitwise
const bitFlags: number = ((destroy) ? DESTROY_FLAG: NO_FLAG) |
((nullThing) ? NULL_FLAG: NO_FLAG) |
((start) ? START_FLAG: NO_FLAG) |
((stop) ? STOP_FLAG: NO_FLAG);
return bitFlags;
}https://stackoverflow.com/questions/50847522
复制相似问题