noExtraNonNullAssertion
诊断类别:lint/suspicious/noExtraNonNullAssertion
¥Diagnostic Category: lint/suspicious/noExtraNonNullAssertion
自从:v1.0.0
¥Since: v1.0.0
来源:
¥Sources:
防止在 TypeScript 文件中错误使用非空断言运算符 (!
)。
¥Prevents the wrong usage of the non-null assertion operator (!
) in TypeScript files.
TypeScript 中的
!
非空断言运算符用于断言值的类型不包含null
或undefined
。在单个值上多次使用运算符不会产生任何效果。¥The
!
non-null assertion operator in TypeScript is used to assert that a value’s type does not includenull
orundefined
. Using the operator any more than once on a single value does nothing.
¥Examples
¥Invalid
code-block.ts:1:13 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Forbidden extra non-null assertion.
> 1 │ const bar = foo!!.bar;
│ ^^^^
2 │
ℹ Safe fix: Remove extra non-null assertion.
1 │ const·bar·=·foo!!.bar;
│ -
code-block.ts:2:10 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Forbidden extra non-null assertion.
1 │ function fn(bar?: { n: number }) {
> 2 │ return bar!?.n;
│ ^^^^
3 │ }
4 │
ℹ Safe fix: Remove extra non-null assertion.
2 │ ··return·bar!?.n;
│ -
code-block.ts:2:12 lint/suspicious/noExtraNonNullAssertion FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Forbidden extra non-null assertion.
1 │ function fn(bar?: { n: number }) {
> 2 │ return ((bar!))?.();
│ ^^^^
3 │ }
4 │
ℹ Safe fix: Remove extra non-null assertion.
2 │ ··return·((bar!))?.();
│ -
¥Valid
¥Related links