做国外贸易的网站,达内培训网站开发,免费建网站软件哪个好,长沙百姓网招聘规则#xff1a;arkts-as-casts
级别#xff1a;错误
在ArkTS中#xff0c;as关键字是类型转换的唯一语法#xff0c;错误的类型转换会导致编译时错误或者运行时抛出ClassCastException异常。ArkTS不支持使用语法进行类型转换。
当需要将primitive类型#xff08;如num…规则arkts-as-casts
级别错误
在ArkTS中as关键字是类型转换的唯一语法错误的类型转换会导致编译时错误或者运行时抛出ClassCastException异常。ArkTS不支持使用语法进行类型转换。
当需要将primitive类型如number或boolean转换成引用类型时请使用new表达式。
TypeScript
class Shape {}
class Circle extends Shape { x: number 5 }
class Square extends Shape { y: string a }function createShape(): Shape {return new Circle();
}let c1 Circle createShape();let c2 createShape() as Circle;// 如果转换错误不会产生编译时或运行时报错
let c3 createShape() as Square;
console.log(c3.y); // undefined// 在TS中由于as关键字不会在运行时生效所以instanceof的左操作数不会在运行时被装箱成引用类型
let e1 (5.0 as Number) instanceof Number; // false// 创建Number对象获得预期结果
let e2 (new Number(5.0)) instanceof Number; // trueArkTS
class Shape {}
class Circle extends Shape { x: number 5 }
class Square extends Shape { y: string a }function createShape(): Shape {return new Circle();
}let c2 createShape() as Circle;// 运行时抛出ClassCastException异常
let c3 createShape() as Square;// 创建Number对象获得预期结果
let e2 (new Number(5.0)) instanceof Number; // true不支持JSX表达式
规则arkts-no-jsx
级别错误
不支持使用JSX。
一元运算符、-和~仅适用于数值类型
规则arkts-no-polymorphic-unops
级别错误
ArkTS仅允许一元运算符用于数值类型否则会发生编译时错误。与TypeScript不同ArkTS不支持隐式将字符串转换成数值必须进行显式转换。
TypeScript
let a 5; // 5number类型
let b 5; // 5number类型
let c -5; // -5number类型
let d -5; // -5number类型
let e ~5; // -6number类型
let f ~5; // -6number类型
let g string; // NaNnumber类型function returnTen(): string {return -10;
}function returnString(): string {return string;
}let x returnTen(); // -10number类型
let y returnString(); // NaNArkTS
let a 5; // 5number类型
let b 5; // 编译时错误
let c -5; // -5number类型
let d -5; // 编译时错误
let e ~5; // -6number类型
let f ~5; // 编译时错误
let g string; // 编译时错误function returnTen(): string {return -10;
}function returnString(): string {return string;
}let x returnTen(); // 编译时错误
let y returnString(); // 编译时错误不支持delete运算符
规则arkts-no-delete
**级别**错误
ArkTS中对象布局在编译时就确定了且不能在运行时被更改。因此删除属性的操作没有意义。
TypeScript
class Point {x?: number 0.0y?: number 0.0
}let p new Point();
delete p.y;ArkTS
// 可以声明一个可空类型并使用null作为缺省值
class Point {x: number | null 0y: number | null 0
}let p new Point();
p.y null;相关约束
对象的属性名必须是合法的标识符
不支持Symbol() API
不支持通过索引访问字段
仅允许在表达式中使用typeof运算符
不支持in运算符
那么要想成为一名鸿蒙高级开发以上知识点是必须要掌握的除此之外还需要掌握一些鸿蒙应用开发相关的一些技术需要我们共同去探索。
为了节省大家一些查找的时间这边联合几位行业大佬为大家准备了一份《OpenHarmony4.0Next》的学习导图从入门到进阶再到南北向开发实战的一整套完整体系想要学习了解更多鸿蒙开发的相关知识可以借鉴《鸿蒙4.0源码开发架构分析pdf》
除了上面整理的思维导图以外这里还特别整理的一份《鸿蒙 (Harmony OS)开发学习手册》给大家进行参考学习
一、入门必看 应用开发导读(ArkTS) ……
二、HarmonyOS 概念 系统定义 技术架构 技术特性 系统安全
5…
三、如何快速入门《鸿蒙HarmonyOS分布式项目实战》 基本概念 构建第一个ArkTS应用 构建第一个JS应用 ……
四、开发基础知识 应用基础知识 配置文件 应用数据管理 应用安全管理 应用隐私保护 三方应用调用管控机制 资源分类与访问 学习ArkTS语言 ……
五、基于ArkTS 开发 Ability开发 UI开发 公共事件与通知 窗口管理 媒体 安全 网络与链接 电话服务 数据管理 后台任务(Background Task)管理 设备管理 设备使用信息统计 DFX 国际化开发 折叠屏系列 ……
更多了解更多鸿蒙开发的相关知识可以参考《一小时快速认识HarmonyOS》