当前位置: 首页 > 知识库问答 >
问题:

!object方法后typescript中的操作符

邓阳嘉
2023-03-14
X.getY()!.a()

共有1个答案

郎鸿朗
2023-03-14

它被称为“非空断言运算符”,它告诉编译器x.gety()不是空运算符。

这是一个新的Typescript2.0功能,您可以在what's new页面中了解它,下面是它的内容:

一个新的!在类型检查器无法得出结论的上下文中,可使用后修复表达式运算符断言其操作数是非空且非未定义的。具体来说就是X行动!生成一个x类型的值,并排除null和未定义。类似于形式x和x作为T的类型断言,!在发出的JavaScript代码中,只需删除非空断言操作符。

// Compiled with --strictNullChecks
function validateEntity(e?: Entity) {
    // Throw exception if e is null or invalid entity
}

function processEntity(e?: Entity) {
    validateEntity(e);
    let s = e!.name;  // Assert that e is non-null and access name
}
 类似资料:
  • 问题内容: 我有一个超类是父()对于很多子类(,,…) 我正在寻找动态克隆在Typescript中包含不同子对象的对象。 例如:一个具有不同特征的人具有一个 为了克隆整个对象树,我在其中创建了一个函数 在上升时,它被transpiled为JavaScript以下错误: 尽管该脚本有效,但 我想摆脱已编译的错误 问题答案: 解决具体问题 您可以使用类型断言来告诉编译器您更了解: 克隆 请记住,有时最

  • 本文向大家介绍iOS中SQLite的操作方法,包括了iOS中SQLite的操作方法的使用技巧和注意事项,需要的朋友参考一下 今天终于花了点时间把之前项目中使用到的对SQLite操作的方法整理一下并上传到github上,下载地址:(https://github.com/peanutNote/QYSQLiteManagerDemo.git)。 与其他第三方目的一样,主要是为了使代码中有关对SQLite

  •  KAG 的操作方法说明如下。 Note  这是通常情况下的操作。虽然根据游戏的不同,也会有些功能不开放,不过把这个直接复制粘贴到游戏说明书里也无所谓吧(汗) 基本的操作 「鼠标左键单击」或「滚轮向下滚动」或「确认键」或「空格键」 显示下一段文字、选择选项、按下按钮、选择勾选框等动作 「鼠标右键单击」或「ESC 键」 打开历史记录,或呼叫右键菜单 「↑」「↓」 或 「←」「→」 或 「TAB」「S

  • 本节介绍与Object操作相关的API,主要包括: PUT Object POST Object GET Object HEAD Object PUT Object ACL GET Object ACL DELETE Object Delete multiple Objects DELETE Object ACL Restore Object Rename Object Prefetch Obje

  • 本文向大家介绍javascript操作ul中li的方法,包括了javascript操作ul中li的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了javascript操作ul中li的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的javascript程序设计有所帮助。

  • 本文向大家介绍Laravel 登录后清空COOKIE的操作方法,包括了Laravel 登录后清空COOKIE的操作方法的使用技巧和注意事项,需要的朋友参考一下 需求 在Laravel 登陆立即清空保存的COOKIE数组 实现 关键代码 Cookie::queue(Cookie::forget('subscribe')); 但是Cookie::make($name,'hit.article',$va