Angular中的?.和!.到底有什么区别?
创始人
2024-10-31 02:00:20
0

在 Angular 中,?. 和 !. 都是安全导航操作符,用于处理可能为 null 或未定义的属性或方法。

?. 操作符是安全的管道,用于防止在引用 null 或未定义值的情况下抛出异常。它在尝试访问属性或调用方法时检查对象是否为 null 或 undefined,如果是,则返回 undefined,而不是抛出异常。

! 操作符是非空断言操作符,表示运算符右边的表达式不会为 null 或 undefined,否则会抛出异常。

下面是一个示例,展示了如何使用这两个操作符:

interface Foo {
  bar?: {
    baz: string;
  };
}

const foo: Foo = { bar: { baz: 'hello' } };

// 使用 ?. 操作符
const result1 = foo.bar?.baz;  // 'hello'

// 使用 ! 操作符
const result2 = foo.bar!.baz;  // 'hello'

在上面的示例中,使用 ?. 操作符和 ! 操作符从对象 foo 中获取属性值 baz。当 foo.bar 为 null 或 undefined 时,?. 操作符返回 undefined,! 操作符会抛出异常。由于 foo.bar 是有定义的,所以两个操作符都返回 'hello'。

相关内容

热门资讯

wpk提高胜率!wpk专用辅助... wpk提高胜率!wpk专用辅助程序,(Wpk)从来真的有挂(详细辅助黑科技教程);玩家必备必赢加哟《...
透视透视(德扑ai智能机器人)... 透视透视(德扑ai智能机器人)wopoker德州真的有挂吗(详细辅助AA德州教程)本然是有挂1、玩家...
wpk有外挂!约局吧是正规的吗... wpk有外挂!约局吧是正规的吗,(aapokEr)好像是有挂(详细透视插件教程);wpk有外挂是一款...
德扑ai助手!wepokewo... 德扑ai助手!wepokewopoker透明挂,(wpK)竟然真的有挂(详细透视必赢方法)科技教程也...
透视苹果版(aa扑克辅助)德扑... 透视苹果版(aa扑克辅助)德扑之星为什么不发牌(详细辅助普及教程)原本有挂1、构建自己的微扑克辅助插...
wepoke辅助插件!fish... wepoke辅助插件!fishpoker俱乐部有挂吗,(wEPoke)真是真的有挂(详细透视wepo...
透视软件(德州之星辅助)德扑之... 透视软件(德州之星辅助)德扑之星可以看底牌吗(详细辅助微扑克教程)原生是有挂1、任何德州ai辅助神器...
透视玄学(德州ai人工智能)w... 透视玄学(德州ai人工智能)wepoke挂透视(详细辅助详细教程)好像是真的有挂(1)透视玄学(德州...
aapoker透明挂!wpk辅... 【福星临门,好运相随】;aapoker透明挂!wpk辅助,(德州aapoker俱乐部)往昔真的是有挂...
透视美元局(wpk辅助挂)wp... 透视美元局(wpk辅助挂)wpk微扑克外挂事件(详细辅助2025教程)原来是真的有挂;一、AI软件牌...