关键词ArkTS、TypeScript、鸿蒙开发、类型系统、泛型前言ArkTS是华为基于TypeScript扩展的声明式开发语言专为HarmonyOS应用开发设计。它在保持TypeScript强大类型的基础上增加了声明式UI、状态管理等特性。本文将系统讲解ArkTS的核心语法帮助你从TypeScript平滑过渡到ArkTS开发。一、ArkTS与TypeScript的关系ArkTS是TypeScript的超集这意味着✅ 所有合法的TypeScript代码都是合法的ArkTS代码✅ ArkTS在TS基础上增加了声明式UI语法✅ ArkTS对TS部分特性进行了约束和优化二、基础类型系统2.1 基本数据类型// 布尔类型letisDone:booleanfalse// 数字类型统一使用numberletcount:number42letprice:number19.99// 字符串类型letuserName:stringHarmonyOSletgreeting:stringHello,${userName}// 数组类型letnumbers:number[][1,2,3,4,5]letnames:Arraystring[Alice,Bob,Charlie]2.2 枚举类型enumColor{Red,Green,Blue}letfavoriteColor:ColorColor.Blueconsole.log(favoriteColor)// 输出: 2三、函数定义3.1 基本函数// 命名函数functionadd(a:number,b:number):number{returnab}// 箭头函数constmultiply(a:number,b:number):number{returna*b}// 可选参数functiongreet(name:string,greeting?:string):string{return${greeting||Hello},${name}!}// 默认参数functioncreateUser(name:string,age:number18):void{console.log(${name}is${age}years old)}四、类与接口4.1 类的定义classPerson{// 私有属性privatename:string// 受保护属性protectedage:number// 公共属性publicemail:stringconstructor(name:string,age:number){this.namenamethis.ageagethis.email}// getter方法getName():string{returnthis.name}// 方法introduce():string{returnI am${this.name},${this.age}years old}}// 继承classStudentextendsPerson{privategrade:numberconstructor(name:string,age:number,grade:number){super(name,age)this.gradegrade}study():string{return${this.getName()}is studying in grade${this.grade}}}4.2 接口定义interfaceAnimal{name:stringage:numbermakeSound():void}classDogimplementsAnimal{name:stringage:numberconstructor(name:string,age:number){this.namenamethis.ageage}makeSound():void{console.log(Woof! Woof!)}}五、泛型编程泛型让代码更加灵活和可复用// 泛型函数functionidentityT(arg:T):T{returnarg}letoutputidentitystring(Hello)letnumOutputidentitynumber(42)// 泛型类classGenericStackT{privateitems:T[][]push(item:T):void{this.items.push(item)}pop():T|undefined{returnthis.items.pop()}peek():T|undefined{returnthis.items[this.items.length-1]}}// 使用constnumberStacknewGenericStacknumber()numberStack.push(10)numberStack.push(20)六、ArkTS特殊约束ArkTS对TypeScript做了一些约束以提高运行时性能❌ 不支持any类型必须使用明确的类型❌ 对象的属性必须在声明时或构造函数中初始化❌ 不支持delete操作符❌ 不支持with语句总结本文系统介绍了ArkTS的核心语法特性包括类型系统、函数、类、接口和泛型。掌握这些基础知识后你就可以开始编写鸿蒙应用的业务逻辑了。下一篇文章将带你进入声明式UI的世界学习如何使用ArkUI构建精美的用户界面。
ArkTS入门第二章:ArkTS语言核心语法精讲
关键词ArkTS、TypeScript、鸿蒙开发、类型系统、泛型前言ArkTS是华为基于TypeScript扩展的声明式开发语言专为HarmonyOS应用开发设计。它在保持TypeScript强大类型的基础上增加了声明式UI、状态管理等特性。本文将系统讲解ArkTS的核心语法帮助你从TypeScript平滑过渡到ArkTS开发。一、ArkTS与TypeScript的关系ArkTS是TypeScript的超集这意味着✅ 所有合法的TypeScript代码都是合法的ArkTS代码✅ ArkTS在TS基础上增加了声明式UI语法✅ ArkTS对TS部分特性进行了约束和优化二、基础类型系统2.1 基本数据类型// 布尔类型letisDone:booleanfalse// 数字类型统一使用numberletcount:number42letprice:number19.99// 字符串类型letuserName:stringHarmonyOSletgreeting:stringHello,${userName}// 数组类型letnumbers:number[][1,2,3,4,5]letnames:Arraystring[Alice,Bob,Charlie]2.2 枚举类型enumColor{Red,Green,Blue}letfavoriteColor:ColorColor.Blueconsole.log(favoriteColor)// 输出: 2三、函数定义3.1 基本函数// 命名函数functionadd(a:number,b:number):number{returnab}// 箭头函数constmultiply(a:number,b:number):number{returna*b}// 可选参数functiongreet(name:string,greeting?:string):string{return${greeting||Hello},${name}!}// 默认参数functioncreateUser(name:string,age:number18):void{console.log(${name}is${age}years old)}四、类与接口4.1 类的定义classPerson{// 私有属性privatename:string// 受保护属性protectedage:number// 公共属性publicemail:stringconstructor(name:string,age:number){this.namenamethis.ageagethis.email}// getter方法getName():string{returnthis.name}// 方法introduce():string{returnI am${this.name},${this.age}years old}}// 继承classStudentextendsPerson{privategrade:numberconstructor(name:string,age:number,grade:number){super(name,age)this.gradegrade}study():string{return${this.getName()}is studying in grade${this.grade}}}4.2 接口定义interfaceAnimal{name:stringage:numbermakeSound():void}classDogimplementsAnimal{name:stringage:numberconstructor(name:string,age:number){this.namenamethis.ageage}makeSound():void{console.log(Woof! Woof!)}}五、泛型编程泛型让代码更加灵活和可复用// 泛型函数functionidentityT(arg:T):T{returnarg}letoutputidentitystring(Hello)letnumOutputidentitynumber(42)// 泛型类classGenericStackT{privateitems:T[][]push(item:T):void{this.items.push(item)}pop():T|undefined{returnthis.items.pop()}peek():T|undefined{returnthis.items[this.items.length-1]}}// 使用constnumberStacknewGenericStacknumber()numberStack.push(10)numberStack.push(20)六、ArkTS特殊约束ArkTS对TypeScript做了一些约束以提高运行时性能❌ 不支持any类型必须使用明确的类型❌ 对象的属性必须在声明时或构造函数中初始化❌ 不支持delete操作符❌ 不支持with语句总结本文系统介绍了ArkTS的核心语法特性包括类型系统、函数、类、接口和泛型。掌握这些基础知识后你就可以开始编写鸿蒙应用的业务逻辑了。下一篇文章将带你进入声明式UI的世界学习如何使用ArkUI构建精美的用户界面。