原文出处:https://www.jianshu.com/p/1ccdc6a4d0ce

安全导航操作符 ( ?. )

  • Angular 的安全导航操作符 (?.) 是一种流畅而便利的方式,用来保护出现在属性路径中 null 和 undefined 值。 下例中,当currentHero为空时,保护视图渲染器,让它免于失败。
The current hero's name is {{currentHero?.name}}

非空断言操作符(!)

  • 在 TypeScript 2.0 中,我们可以使用--strictNullChecks标志强制开启严格空值检查。TypeScript就会确保不存在意料之外的null或undefined。
  • 安全导航操作符不同的是,非空断言操作符不会防止出现null或undefined。 它只是告诉 TypeScript 的类型检查器对特定的属性表达式,不做 "严格空值检测"。
<!--No hero, no text -->
<div *ngIf="hero">The hero's name is {{hero!.name}}
</div>

参考:https://angular.cn/guide/template-syntax

作者:林ze宏
链接:https://www.jianshu.com/p/1ccdc6a4d0ce
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

angular--安全导航操作符 ( ?. )、非空断言操作符(!) (实用)相关推荐

  1. TypeScript Non-null Assertion Operator 非空断言操作符 - 感叹号

    TypeScript 也有一种特殊的语法,可以在不进行任何显式检查的情况下从类型中删除 null 和 undefined. 写作 ! 在任何表达式实际上是一个类型断言之后,该值不为空或未定义: fun ...

  2. TypeScript的非空断言操作符(感叹号)

    x! 将从 x 值域中排除 null 和 undefined. 看个例子: myFunc = (maybeString: string | undefined | null) => {const ...

  3. Kotlin如何避免“!!”(非空断言)

    当我们把Java自动转成Kotlin的时候,代码里会出现很多非空断言!!.或者某些场景下因为IDE提示或编译错误,也让我们自己加上了一些!!. 但使用!!的后果是有可能抛出IllegalArgumen ...

  4. Kotlin——初级篇(六):空类型、空安全、非空断言、类型转换等特性总结

    在我们熟知的Java中,定义一个变量可以默认不赋值,因为Java的系统会给我们默认赋一个默认值,并且Java可定义一个赋值为null的变量,这样在使用这个变量的时候都会去显示判断该变量是否为null. ...

  5. kolin学习笔记:非空类型与可空类型

    记得在我一开始接触kotlin时,听到的最多的就是kotlin的类型安全,各种巴拉巴拉?,关键就不断的夸安全,其他的却是什么也没有解释,差点还没入门,就直接放弃.虽然确实这是kotlin的特性之一,但 ...

  6. java 多态判断非空_收藏Java 面试题全梳理

    脚本之家 你与百万开发者在一起 来源 | Java建设者(ID:javajianshe) 作者 |cxuan 如若转载请联系原公众号 Java 基础篇 Java 有哪些特点 并发性的:你可以在其中执行 ...

  7. 一元操作符、强制类型转换表达式、乘除操作符、加法操作符、移位操作符、关系操作符、判等操作符、位操作符与逻辑操作符、条件与操作符、条件或操作符--运算机制与返回值

    操作符处理及返回值 先遣提示 一元操作符 前缀递增操作符 ++ 前缀递增操作符 - - 一元加号操作符 + 关于一元数值提升或二元数值提升 可以看这篇博客 一元减号操作符 - 这里涉及了 原码,反码, ...

  8. Java 操作符:Java 中操作符优先级、一二三元操作符及逻辑操作符的中德模佛定理

    文章目录 前言 一.操作符介绍与优先级表 二.一元运算符与二元运算符的区别? 三.Java 中唯一的三元操作符 四.逻辑操作符中的德模佛定理 总结 前言 在 Java 中我们常见的操作符分为三种,分别 ...

  9. 【C操作符】详解操作符

    ⭐博客主页:️CS semi主页 ⭐欢迎关注:点赞收藏+留言 ⭐系列专栏:C语言初阶 ⭐代码仓库:C Advanced 家人们更新不易,你们的点赞和关注对我而言十分重要,友友们麻烦多多点赞+关注,你们 ...

  10. C++ Primer 学习笔记_62_重载操作符与转换 --调用操作符和函数对象

    重载操作符与转换 --调用操作符和函数对象 引言: 能够为类类型的对象重载函数调用操作符:一般为表示操作的类重载调用操作符! struct absInt {int operator() (int va ...

最新文章

  1. Mrtg搭建流量监控服务器
  2. 介绍一个JSONP 跨域访问代理API-yahooapis
  3. saltstack批量修改root密码
  4. 细说反射,Java 和 Android 开发者必须跨越的坎
  5. 如何系统学习机器学习?
  6. 电子琴节奏包制作_济南这个藏在菜市场的小饺子馆,纯手工制作,老板娘一个人不停忙...
  7. 【工具】switchhost
  8. 基于(7, 5)归零非删余Turbo码的参数识别与分析
  9. React开发(238):dva概念3action
  10. Ignite 配置更新Oracle JDBC Drive
  11. java四大模块_Spring框架七大模块
  12. AndroidStudio 0.2.x 引入多模块Eclipse项目
  13. 数学建模竞赛常考三大模型及十大算法【预测模型、优化模型、评价模型】
  14. 动态考勤表-日期只能在某个月选时间段
  15. ssl checker
  16. 土木学matlab还是python_五行属土的字大全
  17. 计算机系统文件夹图标不见了,为何我的电脑文件夹的图标都没有了
  18. 计算机显示正常 但打印出来乱码,打印出乱码字体怎么办
  19. MySQL数据库插入中文时出现Incorrect string value: '\xE6\x97\xB7\xE5\x85\xA8' for column 'sz_name' at row 1...
  20. 内核热补丁,真的安全么?| 龙蜥技术

热门文章

  1. win10的服务器管理器在哪打开?
  2. 如何实现 iOS 短视频跨页面的无痕续播?
  3. CRM实战分类以及对企业运营的思考
  4. linux中中文转换程序,Linux下在程序中如何进行繁体中文和简体中文的转换
  5. c c python的区别_python版本的区别 Cpython Jython pypy ?
  6. Linux下查看IP
  7. aptana手动配置python环境_Python学习1:使用Aptana构建Python开发环境
  8. 如何部署在线团队协作系统kooteam(在线团队协作工具)
  9. 可解释机器学习- LIME模型讲解|interpretable machine learning-LIME
  10. Cloudera-server迁移