?.的写法 后缀修饰符

这篇具有很好参考价值的文章主要介绍了?.的写法 后缀修饰符。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概览:处理后端返回的数据data,写法:data?.name。解决vue框架编译出现的报错Cannot read property 'name' of undefined。出现问题的原因:这是因为我们试图访问对象中不在的 key 为 name 的属性,那么怎么解决呢?
若是当前对象不存在某个属性key,在vue中可以使用后缀修饰符,常用的是?和!。

代码举例:

            const resData = res.data.data || []
            const params1 = reactive({
                shyx: resData?.age?.shyx,
                shzwh: resData?.age?.shzwh,
                whys: resData?.age?.whys,
            })
            const params2 = resData.area?.map((item) => {
                return {
                    name: item.name,
                    value: item.num
                }
            })
            const params3 = reactive({
                partymember: resData?.partyMember?.partymember,
                other: resData?.partyMember?.other,
            })

vue3中两种后缀运算符:

在Vue 3中,有两个后缀运算符:?!,分别表示可选属性和非空断言。

?可选属性:表示该属性是可选的,如果该属性不存在,不会引发错误。

!非空断言:表示该属性一定存在,如果该属性不存在,则会引发错误。

?后缀运算符:

示例代码:

const message = { text: 'Hello World' }
const greeting = message.text?.toUpperCase() // greeting = 'HELLO WORLD'
const emptyMessage = {}
const emptyGreeting = emptyMessage.text?.toUpperCase() // emptyGreeting = undefined

结果分析:

 在上面的代码中,当message对象存在text属性时,可以将text属性的值转换为大写字母。而当emptyMessage对象不存在text属性时,使用?.运算符访问text属性不会引发错误,返回值为undefined

!后缀运算符: 

实例代码:

const message = { text: 'Hello World' }
const greeting = message.text!.toUpperCase() // greeting = 'HELLO WORLD'
const emptyMessage = {}
const emptyGreeting = emptyMessage.text!.toUpperCase() // TypeError

结果分析:

在上面的代码中,当message对象存在text属性时,可以将text属性的值转换为大写字母。而当emptyMessage对象不存在text属性时,使用!运算符访问text属性会引发错误,因为该属性不存在。 

 文章来源地址https://www.toymoban.com/news/detail-624094.html

到了这里,关于?.的写法 后缀修饰符的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 前端uniapp块样式写法

    前端uniapp块样式写法

    2024年02月09日
    浏览(6)
  • 前端使用xlsx-js-style导出Excel文件并修饰单元格样式

    前端使用xlsx-js-style导出Excel文件并修饰单元格样式

    安装 导出 excel 较常见的 js 库是之一是 xlsx, xlsx 算是基础版本,不能对单元格进行样式(对齐方式、文字颜色、背景颜色等)的修饰,如果需要修饰单元格,可使用 xlsx-js-style 引入 需要导出的数据源 将数据源转成需要的二维数组 定义 Excel 表头 将定义好的表头添加到 body

    2023年04月08日
    浏览(10)
  • CTFHUB-技能树-Web前置技能-文件上传(前端验证—MIME绕过、00截断、00截断-双写后缀)

    CTFHUB-技能树-Web前置技能-文件上传(前端验证—MIME绕过、00截断、00截断-双写后缀)

    前端验证—MIME绕过 有关MIME web服务器使用MIME来说明发送数据的种类, web客户端使用MIME来说明希望接收到的数据种类 MIME的作用 使客户端软件,区分不同种类的数据,例如web浏览器就是通过MIME类型来判断文件是GIF图片,还是可打印的PostScript文件。 简单来说就是一种校验机制

    2024年04月17日
    浏览(8)
  • tpwe兼容微擎小程序前端请求写法

    当使用TPWe兼容微擎小程序前端时,可以按照以下方式编写前端请求: 修改siteinfo.js下面的配置文件。 修改一下../we7/resource/js/util.js。 使用TPWe的API方法发送请求,并处理返回的数据。以下是一个示例代码,用于发起GET请求:

    2024年02月07日
    浏览(3)
  • 【前端】vue3中引入class类的写法

    单独将一个类作为一个js文件,然后引入到vue3页面使用 使用的vue页面

    2024年04月13日
    浏览(11)
  • 前端将UTC时间格式转化为本地时间格式~~uniapp写法

    前端将UTC时间格式转化为本地时间格式~~uniapp写法

    首先我们先简单的了解一下:UTC时间(协调世界时,Coordinated Universal Time)使用24小时制,以小时、分钟、秒和毫秒来表示时间 HH 表示小时,取值范围为00到23。 mm 表示分钟,取值范围为00到59。 ss 表示秒,取值范围为00到59。 SSS 表示毫秒,取值范围为000到999。 需要注意的是,

    2024年02月10日
    浏览(7)
  • 前端开发攻略---JS将class转换为function。满分写法无死角

    前端开发攻略---JS将class转换为function。满分写法无死角

    \\\'use strict\\\' : class中的代码全部都是在一个 严格模式 下,对于一些不安全的操作会抛出错误,使代码更加规范。 function Example(name) { ... } : 这是一个函数声明,函数名为  Example ,它接受一个参数  name 。这个函数充当了类的构造函数的角色。 函数名与class名相同 。 if (!new.targ

    2024年04月16日
    浏览(6)
  • linux 使用 rename 给文件名批量加后缀、换后缀和去掉后缀

    参考 Linux批量修改文件名前缀rename命令 $ rename -h 抄写他的一段文字 准备文件 去掉.txt 后缀 也就是: .txt 后缀替换成空 加上 .zip 后缀 .zip 后缀替换为.txt 后缀 去掉特定字符结尾 ( 后缀没有 . ) 替换或去掉开头或中间部分字符串

    2024年02月06日
    浏览(36)
  • Codeforces Round 920 (Div. 3) F题 根号分治,后缀和,后缀和的后缀和

    Codeforces Round 920 (Div. 3) F题 根号分治,后缀和,后缀和的后缀和

    Problem - F - Codeforces  我看的这位UP的视频讲解 : Codeforces Round 920 (Div. 3) F题 根号分治 详解_哔哩哔哩_bilibili   目录 题意: 思路: 后缀和的后缀和: 后缀和的后缀和的中间段如何求: ———— 根号分治: 核心代码:   给你个数组,求这个和 s是起始下标,d是间隔gap,k代表第

    2024年01月16日
    浏览(8)
  • C# 判断文件路径的后缀是否是某个后缀

    C# 判断文件路径的后缀是否是某个后缀,通过解析文件名并检查其扩展名来判断文件的后缀是否为.dcm。 以.dcm为例子,代码如下: 直接判断: 或是使用方法判断: 或是将字符串后缀名保存在一个字典或者数组中,并通过比较获取的实际后缀名与列表中的内容来判断: 上述

    2024年01月23日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包