HarmonyOS 关于ArkTS中的!使用
我看有这么一个图片描述,当在一个变量前使用两个感叹号!!
就是断言这个对象非null,非undefined,非空
不知道对不对
HarmonyOS有具体的关于感叹号的使用描述么
比如在对象前加一个感叹号!啥意思
在对象前加2个感叹号!!啥意思
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 关于arkts中的协议问题
118浏览 • 1回复 待解决
HarmonyOS ArkTS中关于类型的定义
184浏览 • 1回复 待解决
HarmonyOS 关于ArkTS中使用Rn搭建问题
232浏览 • 1回复 待解决
关于HarmonyOS webview中iFrame的使用问题
463浏览 • 1回复 待解决
关于xml中include的使用问题
7551浏览 • 2回复 待解决
ArkTS关于反射的用法
101浏览 • 1回复 待解决
arkts 关于异步的问题
465浏览 • 1回复 待解决
HarmonyOS 关于仓颉和ArkTS的问题
199浏览 • 2回复 待解决
HarmonyOS ArkTS 关于重载的实现方式
167浏览 • 1回复 待解决
ArkTS中的类型系统如何使用?
543浏览 • 1回复 待解决
HarmonyOS 关于使用ArkTS进行Base64解码和GZIP解压
249浏览 • 1回复 待解决
HarmonyOS 关于ArkTS和TS的类型检测
109浏览 • 1回复 待解决
HarmonyOS关于TS转ArkTS的语法问题
649浏览 • 1回复 待解决
HarmonyOS 关于ArkTS UI样式文件的疑问
598浏览 • 1回复 待解决
HarmonyOS ArkTS中的array类型的filter如何使用?
465浏览 • 1回复 待解决
HarmonyOS 关于ArkTS中编写代码编译器检查报错
480浏览 • 1回复 待解决
HarmonyOS 关于interface的使用
1112浏览 • 1回复 待解决
HarmonyOS java中的Class<? extends IModuleApi> 使用ArkTS如何翻译?
258浏览 • 1回复 待解决
关于onGestureJudgeBegin的使用
839浏览 • 1回复 待解决
ArkTS中如何使用字典类型的对象
305浏览 • 1回复 待解决
为什么ArkTS中禁止使用any?
1457浏览 • 1回复 待解决
HarmonyOS关于API使用的问题
792浏览 • 1回复 待解决
HarmonyOS 关于使用@BuilderParam的问题
736浏览 • 1回复 待解决
关于ArkTS的线程机制是怎么样的?
715浏览 • 2回复 待解决
HarmonyOS ArkTS中如何使用悬浮窗按钮组件
286浏览 • 1回复 待解决
这是三种使用方式
1、在一个对象前加!
2、在一个对象后加!
3、在一个对象前加!!(俩叹号)
第一种方式,就是逻辑非,如:
!0 = true,
!1=false,
!null=true,
!对象实例=false,
如果变量不是布尔类型,会将变量自动转化为布尔类型,比如null、undefined、数字0和空字符串取反都为true,其余都为false。
第二种方式,是非空断言运算符,详见
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/introduction-to-arkts-V5#非空断言运算符
作用是对一个可能为空的值做断言,断定加!的结果一定不为空,要么是值,要么是默认值,可以看下案例代码
第三种方式,俩叹号是个小技巧,!表示运算符“非",如果变量不是布尔类型,会将变量自动转化为布尔类型,再取非,那么用两个!!就可以将变量转化为对应布尔值,举个例子,你获取了一个值x,!!x后为真,那么有三种情况
1、如果x是数值类型:表示不是0,且有确定含义的值(包括无穷大)
2、如果x是字符串:表示长度大于0的字符串
3、如果x是数组,对象,函数:只能表示不是undefined或null
场景:当从服务端获取的用户名有效、年龄大于0就展示
可以这么写
更简化