HarmonyOS 鸿蒙Next AppStorageV2有人用么?
HarmonyOS 鸿蒙Next AppStorageV2有人用么?
@Local prop: Sample = AppStorageV2.connect(Sample, () => new Sample())!;
这个语句后面加个感叹号是什么意思?
!是TS语法中的非空断言符,以下是常见的几种符号的解释供楼主参考:
1. ! 感叹号 是非null和非undefined的类型断言,在变量名后面添加一个!就会忽略undefined和null。
const inputRef = useRef<HTMLEInputlement>(null);
// 定义了输入框,初始化是 null,但是你在调用他的时候相取输入框的 value,这时候 dom 实例一定是有值的,所以用断言
const value: string = inputRef.current!.value;
// 这样就不会报错了
2. ? 问号 用在属性或参数中,表示该属性或参数为可选项。
function fun(x: number, y?: number) { // 可选参数
return x + (y || 0);
}
fun(1); // 1
fun(1, null); // error, 'null' is not assignable to 'number | undefined'
interface IPro {
id: string | number;
page: number;
key?: string; // 可选属性
}
3. ?? 双问号 和 || 的意思相似,但是又有区别,?? 相较 || 比较严谨, 当值等于0 的时候 || 就把他给排除了,但是 ?? 不会
console.log(null || 3) // 3
console.log(null ?? 2) // 2
console.log(undefined || 2) // 2
console.log(undefined ?? 2) // 2
console.log(0 || 2) // 2
console.log(0 ?? 2) // 2
4. ?. 问号点 的意思基本和 && 是一样的,a ?. b 相当于 a && a.b ? a.b : undefined
const a = {
b: { c: 7 }
};
console.log(a?.b?.c); //7
console.log(a && a.b && a.b.c); //7
举例:有一个数据 data, 它的属性值可能为 null,undefined,通常我们的写法是直接上 if 判断啥的,然后再取 data 中的属性,但是有了问号点 ?. 写法就简单很多了
更多关于HarmonyOS 鸿蒙Next AppStorageV2有人用么?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
!! 呢?
!!一般用来将后面的表达式强制转换为布尔类型的数据(boolean),也就是只能是true或者false,比如: const a = undefined; const flag = !!a // false
末尾的感叹号(!
)是 “非空断言操作符”(Non-null assertion operator)。
它用于告诉编译器,你确信表达式的值不会为 null
或者 undefined
,让编译器跳过对该值可能为空的类型检查。可以放心地按照非空的情况去使用它后续关联的 Sample
相关逻辑。
语言空安全的一种标识。
connect这个方法返回类型是 T |undefined,但是你只用了一个Sample来接收。通过!告诉编译器,这里返回值一定不为undefined这种情况。编译器就不做这个情况的类型的检查了
以下是其余的写法。
[@Local](/user/Local) prop: String | undefined = AppStorageV2.connect(String, () => '');
[@Local](/user/Local) prop: String = AppStorageV2.connect(String, () => '') as String;
HarmonyOS 鸿蒙Next AppStorageV2已有部分开发者在使用。AppStorageV2是鸿蒙系统提供的一种应用数据存储机制,旨在优化应用数据的存储效率和安全性。相较于之前的版本,AppStorageV2在数据读写速度、存储容量以及数据保护方面都有所提升。
它支持多种数据类型,包括基础数据类型、复杂对象以及自定义类型,为开发者提供了灵活的数据存储方式。同时,AppStorageV2还提供了数据版本控制和回滚机制,以确保应用数据的稳定性和一致性。
开发者在使用AppStorageV2时,可以通过鸿蒙系统提供的API接口进行数据操作,包括数据的写入、读取、更新和删除等。这些API接口设计简洁,易于使用,能够大大降低开发者的学习成本。
需要注意的是,AppStorageV2的使用需要遵循鸿蒙系统的开发规范和数据安全要求,以确保应用数据的合法性和安全性。开发者在使用前应仔细阅读相关文档,了解API接口的使用方法和注意事项。
如果开发者在使用过程中遇到具体问题,如数据读写异常、数据丢失等,可以通过查阅鸿蒙系统的官方文档或社区论坛获取帮助。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。