HarmonyOS 鸿蒙Next 两个感叹号!!的使用问题
HarmonyOS 鸿蒙Next 两个感叹号!!的使用问题
俩叹号是个小技巧,!表示运算符“非",如果变量不是布尔类型,会将变量自动转化为布尔类型,再取非,那么用两个!!就可以将变量转化为对应布尔值,举个例子,你获取了一个值x,!!x后为真,那么有三种情况
1、如果x是数值类型:表示不是0,且有确定含义的值(包括无穷大)
2、如果x是字符串:表示长度大于0的字符串
3、如果x是数组,对象,函数:只能表示不是undefined或null
场景:当从服务端获取的用户名有效、年龄大于0就展示
可以这么写
if(!!name && !!age){
…
}
有一个疑问就是,arkTS语言是不是会有默认的布尔转化
比如
let a:string=""
if(a){
}
是不是也会得到false?
也就是使用!!和不使用直接判断有什么区别
if(!!name && !!age){
…
}
if(name && age){
…
}
更多关于HarmonyOS 鸿蒙Next 两个感叹号!!的使用问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS 鸿蒙Next 两个感叹号!!的使用问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
!! 判断某个变量是否存在。第一个 ! 作用于变量,使其转换为布尔类型,并且取反;第二个 ! 再次取反,得到真正的布尔值。
在HarmonyOS鸿蒙Next系统中,两个感叹号“!!”的使用并非一个直接由系统定义的操作符或特性,而是更多依赖于应用程序或开发框架内的具体实现。在标准编程语境下,双感叹号通常用于逻辑非操作的强化(如在某些语言中的布尔值转换),但在鸿蒙系统的API或用户界面中,其意义可能有所不同。
-
应用程序逻辑:在鸿蒙应用开发中,如果开发者在代码中使用了“!!”,这通常是为了将某个值(可能是null或undefined)转换为布尔类型,确保在逻辑判断中得到明确的true或false。但这属于开发者自定义行为,并非鸿蒙系统强制规定。
-
用户界面:在用户界面中,如果遇到“!!”作为输入或显示内容,它可能是特定于应用的符号或标记,用于表示某种状态或提醒用户注意。这种情况下,其含义完全由应用开发者定义。
-
系统反馈:鸿蒙系统本身在用户界面中不直接使用“!!”作为标准反馈或提示。所有系统级的提示和反馈均遵循统一的UI设计规范。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html