Skip to content

Latest commit

 

History

History
50 lines (35 loc) · 738 Bytes

no-unsafe-unary-minus.md

File metadata and controls

50 lines (35 loc) · 738 Bytes
description
Require unary negation to take a number.

🛑 This file is source code, not the primary documentation location! 🛑

See https://typescript-eslint.io/rules/no-unsafe-unary-minus for documentation.

TypeScript does not prevent you from putting a minus sign before things other than numbers:

const s = 'hello';
const x = -s; // x is NaN

This rule restricts the unary - operator to number | bigint.

Examples

❌ Incorrect

declare const a: string;
-a;

declare const b: {};
-b;

✅ Correct

-42;
-42n;

declare const a: number;
-a;

declare const b: number;
-b;

declare const c: number | bigint;
-c;

declare const d: any;
-d;

declare const e: 1 | 2;
-e;