ts中的特殊符号 ?. ?: 等代表的含义与使用

4 篇文章 0 订阅
本文介绍了TS相对于JS的严格性,重点讲解了可选链符号?.用于安全访问对象属性,!作为断言符号确保对象存在,以及??作为空合并运算符的使用场景。通过实例展示了这些符号在vue3组件和类型定义中的应用。
摘要由CSDN通过智能技术生成

前言:

        ts相比较js来说,是比较严格的,他中间新增了很多可选链符号,比如:?. ?: !.

1、?:     是指可选参数,定义对象属性时候,或者参数接收时可用

注:如果没有属性,则表示  undefined

项目中具体使用:

 vue3中使用:

const {icon,size }= defineProps<{  // 通过 TS的泛型  定义接收的数据类型
    icon:any,
    size?:number|string, // size 可选参数,类型为 字符串或数值
}>()

2、?.    意思基本和 && 是一样的,如果用在对象的属性里面的话,表示对象和对象里属性都需要

比如:a?.b 相当于 a && a.b ? a.b : undefined

项目中具体使用:

//等同于  config.interceptors && config.interceptors.requestInterceptor
if (config.interceptors?.requestInterceptor) {
    config = config.interceptors.requestInterceptor(config)
}

 3、!.   的意思是  断言,告诉ts你这个对象里一定有某个值

注:一般是防止报错使用

项目中具体使用:

const inputRef = useRef<HTMLEInputlement>(null);
// 定义了输入框,初始化是null,但是你在调用他的时候相取输入框的value,
这时候dom实例一定是有值的,所以用断言
const value: string = inputRef.current!.value;
// 这样就不会报错了

4、??  和 || 的意思有点相似

注:??相较||比较严谨, 当值等于0的时候||就把他给排除了,但是?? 不会

console.log(null || 1)   //1
console.log(null ?? 1)     //1
 
console.log(undefined || 1)      //1
console.log(undefined ?? 1)      //1
 
console.log(0 || 1)       //1
console.log(0 ?? 1)      //0

到此结束!

出现"无法保存'index.ts':权限不足。选择'以超级用户身份重试'"的错误提示意味着您当前的用户权限不足以保存或修改该文件。 这通常发生在您尝试将更改保存到受保护的文件或目录时。操作系统会限制对某些文件或目录的访问权限,以防止未经授权的更改或损坏。 为了解决这个问题,您可以尝试以下方法之一: 1. 使用超级用户权限:选择"以超级用户身份重试"选项。在许多操作系统,超级用户也称为"root"用户,具有更高的权限来访问和修改系统的任何文件。尝试使用root账户或通过sudo命令运行文件编辑器,并重新保存更改。 2. 更改文件权限:如果您知道文件的所属用户和组,您可以尝试更改文件的权限。使用命令行工具,可以运行"chmod"命令来更改文件或目录的权限。例如,运行"sudo chmod 777 index.ts"可以为文件提供完全访问权限。请注意,更改文件权限可能存在风险,因此请确保您知道自己在做什么。 3. 将文件另存为其他位置:如果您无法保存到当前的位置,请尝试将文件另存为其他位置,例如您的用户主目录或其他具有适当权限的目录。 无论如何,重要的是要记住,以超级用户权限运行编辑器或更改文件权限都需要谨慎行事,并遵循安全最佳实践。确保您了解对您的系统进行更改的风险,并牢记保存文件副本以防不时之需。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浩星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值