什么是!在 javascript 中的变量之前

问题描述 投票:0回答:1

有什么区别

variable!.child_variable
variable?.child_variable

用例示例

const data = obj!.data;

const data = obj?.data;

类似应用于该对象的功能

obj!.doSomething();

obj?.doSomething();

对我来说也是一样。但还是有什么不同吗?

javascript typescript
1个回答
0
投票
  • Non-null assertion
    (!) 告诉 TypeScript 假设变量不为 null 或未定义,即使类型检查器认为可能是这样。它基本上覆盖了 TypeScript 严格的 null 检查。
  • Optional chaining
    (?.) 安全地访问属性或方法,如果对象为 null 或未定义,则返回 undefined。
© www.soinside.com 2019 - 2024. All rights reserved.