认识HarmonyOS Next开发语言:ArkTS1、背景ArkTS是华为打造的一种专为鸿蒙系统提供服务的应用开发语言。ArkTS在TypeScript(TS)的基础上进行了扩展。ArkTS不但继承了TS的所有特性,还在TS的基础上增加了声明式UI、状态管理等能力,这意味着开发者在使用ArkTS时,不需要付出更多的学习成本就可以使用到更强大的功能。2、常用数据类型ArkTS常见的数据类型有三种,分别是string字符串, number数字, boolean布尔。string字符串在ArkTS中用于表示文本数据,可以使用单引号(‘)或双引号(“)进行界定。在ArkTS的UI开发中,常用于表示文本标签、按钮名称等用户界面元素的内容。number数字用于表示整数和浮点数,在ArkTS的UI开发中,常用于表示尺寸、位置、颜色值等需要精确数值的属性。boolean布尔表示真(true)或假(false)两种状态,在ArkTS的条件判断语句中发挥着重要作用,用于控制代码的执行流程。数据的声明方式如图1所示。
图片
图1下面是在DevEco Studio中的演示,其中关键字let代表该数据是变量,如果需要定义常量,只需将let改为const即可,值得注意的是当使用const修饰数据时,数据不允许二次修改。
图片
图23、定义数组数组是一个容器,用于存储多个相同数据类型的数据。数组的声明方式如下图所示。
图片
图3下面是数组在DevEco Studio中的演示,若要获取数组arr中的第n个元素,可以通过arr[n-1]来实现。
图片
图44、函数的基本使用在ArkTS中,函数是代码组织的基本单位,它封装了一段特定的逻辑或操作,并允许通过参数传递数据,以及通过返回值返回结果。函数的定义是编写函数的第一步,它指定了函数的名称、参数列表、返回类型以及函数体。
图片
图5在ArkTS中,一个函数的定义通常包括以下几个部分:函数头:包括函数的返回类型、函数名和参数列表。返回类型指定了函数执行完毕后的返回值类型;函数名是函数的唯一标识符,用于在代码中调用该函数;参数列表定义了函数接受哪些参数以及这些参数的类型。
图片
图6函数体:函数体包含了函数执行时的具体逻辑。在函数体内,可以使用参数进行计算、调用其他函数、执行条件判断等操作。函数体由一对大括号 {} 包围。
图片
图7函数调用时,首先需要指定要调用的函数名,随后是圆括号中包含的实际参数列表。实参的数量和类型必须与函数定义中的参数(形参)相匹配。
图片
图8如果函数有返回值,那么可以使用变量来接收这个返回值。接收返回值的变量类型应该与函数声明的返回类型一致。
图片
图95、箭头函数箭头函数是一种简洁的函数表达方式,特别适用于定义匿名函数或作为回调函数使用。箭头函数的声明方式如下图所示。
图片
图10箭头函数使用=>符号来定义,其基本语法如下图所示。
图片
图11如果函数体只有一个表达式,可以省略大括号和return关键字,直接返回该表达式的值。
图片
图12当参数只有一个时,甚至可以省略参数周围的括号(但如果参数是一个对象字面量或需要解构赋值,则必须加括号)。
图片
图13箭头函数的调用与普通函数的调用方式相同。只需使用函数名(或变量名,如果箭头函数被赋值给了一个变量)并传递必要的参数。
图片
图14下图是一个更完整的实机示例。
图片
图156、类与对象对象的定义和调用是编程的核心部分。对象是通过类(class)来定义的,而类的实例则是对象。对象允许我们将数据和操作这些数据的方法封装在一起。在ArkTS中,对象通常是通过类来定义的。类是一个蓝图,它描述了对象的属性和方法。下图是定义类和对象的基本语法。
图片
图16对象的调用通常指的是访问对象的属性或调用对象的方法。
图片
图17下图展示了如何在ArkTS定义类、创建对象以及调用对象的属性和方法。
图片
图187、接口和枚举接口(Interface)和枚举(Enum)是两种重要的类型定义方式,它们有助于构建更加模块化和可维护的代码。接口的定义:接口是一个抽象的类型,它规定了对象应该具备的结构,但不实现它。接口可以包含属性、方法,甚至是其他接口(称为嵌套接口)。下图是定义接口的基本语法。
图片
图19接口的调用:实现接口:通过类来实现接口,确保类具有接口所要求的结构。类型断言:在运行时将某个值断言为接口类型(尽管这更多是在编译时提供类型安全)。作为类型注解:在函数参数、返回值或变量上使用接口作为类型注解。
图片
图20枚举的定义:枚举是一种特殊的类型,它允许开发者为一组相关的值定义一个名字,使代码更加清晰和易于理解。枚举成员可以是字符串或数字。
图片
图21枚举的调用可以通过枚举名加点(.)和成员名来访问枚举成员的值。
图片
图22下图是一个结合了接口和枚举的示例。
图片
图23发布于 2024-12-02 09:56・IP 属地湖北


wust508
1 声望0 粉丝