typescript一些语法糖

news/2024/11/2 3:29:19/

单个问号 ? 在定义类型里,代表非必须,可以帮助ide和lint进行静态检查

  type UserInfo = {
    username?: string;
  }
单个问号 ? 用于属性读取,表示如果不存在则返回空,减少一些检查空值的代码。

const val=data?.error.code;
单问号 ? 用在function参数定义里,表示这个参数并不是必须的,可省略,方便ide/lint来检查

function test(paramA: string, paramB?: string){
    // paramB is not required
}
单问号 ? 用作三元运算符,这个就是常见的

const val= num>0 ? valA : valB;
双问号 ?? ,如果前一个值是null/undefined则返回后一个值,主要用于default value,这个与 || 是差不多的

const val= valA ?? valB;
单感叹号 ! 用在类型里的字段定义

interface B{
    name?: string
}
class A implemented B{
    name!: string
}
单感叹号 ! 在对象调用属性或函数时,提示ide/lint等这个属性是一定会存在的,会避免静态编译错误。

new Error().stack!.split('\n');


http://www.ppmy.cn/news/81859.html

相关文章

正向代理与反向代理:理解代理服务器在网络通信中的不同作用

1、正向代理和反向代理 正向代理(Forward Proxy)和反向代理(Reverse Proxy)是网络代理服务器的两种常见类型,它们在网络通信中起到不同的作用。 2、正向代理 正向代理(Forward Proxy)&#xf…

C++标准库算法std::upper_bound示例

C标准库算法std::upper_bound示例 贺志国 2023.5.25 C标准库算法std::upper_bound使用二分查找算法在已按升序排列的序列中返回指向第一个大于给定值的元素的迭代器,例如:已按升序排列的序列为{100.0, 101.5, 102.5, 102.5, 107.3},第一个大…

Linux服务器关闭ip转发功能

这几天网络渗透的公司对我们的服务器进行安全检测,其中有一个问题是需要将服务器的ip转发功能关闭,以防用此漏洞通过主机路由数据包。 服务器是centos为7.6.X,以下是解决方案 用root用户身份登录服务器编辑 /etc/sysctl.conf 文件 vim /etc…

搜索旋转排序数组

题目&#xff1a; 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], ..., nums[n-1], nu…

万国数据财报:股价暴跌51%,盈利能力下滑,万国数据前景黯淡

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 收入增长前景 万国数据&#xff08;GDS&#xff09;在3月中旬发布2022财年财务业绩时&#xff0c;为该公司提供了2023财年全年的收入指引。考虑到市场对万国数据的预期和其股价历史表现&#xff0c;猛兽财经认为&#xff0…

人工智能专栏第十一讲——指代消歧

指代消歧是自然语言处理领域的一个重要问题,指的是在文本中确定代词所指的具体对象。在日常生活中,人们经常使用代词来替代前面出现过的名词,以避免重复,提高表达效率。但是,在处理自然语言文本时,计算机往往难以准确地理解代词所指的对象,因此需要进行指代消歧来解决这…

GP05丨多因子IC对冲

量化策略开发&#xff0c;高质量社群&#xff0c;交易思路分享等相关内容 大家好&#xff0c;今天我们分享股票社群第5期量化策略——多因子IC对冲。 在前几期中&#xff0c;我们分享了GP01多因子、ETF轮动策略及Plus版本、网格等等。本期我们继续分享多因子策略。 策略背景与…

Redis配置、优化以及相命令

一、关系数据库和非关系型数据库 1、关系型数据库 关系型数据库是一个结构化的数据库&#xff0c;创建在关系模型&#xff08;二维表格模型&#xff09;基础上&#xff0c;一般面向于记录。 SQL语句&#xff08;标准数据查询语言&#xff09;就是一种基于关系型数据库的语言…