HarmonyOS 鸿蒙Next中 问号 `?` 和感叹号 `!` 的区别和用法
HarmonyOS 鸿蒙Next中 问号 ?
和感叹号 !
的区别和用法
问号 ?
-
可选属性(在接口或类型中):
interface User { name: string; age?: number; // age 是可选的 }
-
可选参数(在函数中):
function greet(name: string, message?: string) { // ... }
感叹号 !
断言不为 undefined/null
如果sort非空乘以-1
this.subHeaderList[index].sort = this.subHeaderList[index].sort! * -1
主要区别
特性 | ? (问号) |
! (感叹号) |
---|---|---|
含义 | 表示可能为 undefined/null | 断言不为 undefined/null |
安全性 | 更安全,强制检查 | 不安全,可能引发运行时错误 |
使用场景 | 定义可选属性/参数,安全访问属性 | 当你确定值不为空时跳过类型检查 |
类型影响 | 向类型系统添加 undefined/null | 从类型中移除 undefined/null |
更多关于HarmonyOS 鸿蒙Next中 问号 `?` 和感叹号 `!` 的区别和用法的实战教程也可以访问 https://www.itying.com/category-93-b0.html