认识HarmonyOS Next开发语言:ArkTS

52 阅读5分钟

认识HarmonyOS Next开发语言:ArkTS

1、背景

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修饰数据时,数据不允许二次修改。

图2

3、定义数组

数组是一个容器,用于存储多个相同数据类型的数据。

数组的声明方式如下图所示。

图3

下面是数组在DevEco Studio中的演示,若要获取数组arr中的第n个元素,可以通过arr[n-1]来实现。

图4

4、函数的基本使用

在ArkTS中,函数是代码组织的基本单位,它封装了一段特定的逻辑或操作,并允许通过参数传递数据,以及通过返回值返回结果。函数的定义是编写函数的第一步,它指定了函数的名称、参数列表、返回类型以及函数体。

图5

在ArkTS中,一个函数的定义通常包括以下几个部分:

函数头:包括函数的返回类型、函数名和参数列表。返回类型指定了函数执行完毕后的返回值类型;函数名是函数的唯一标识符,用于在代码中调用该函数;参数列表定义了函数接受哪些参数以及这些参数的类型。

图6

函数体:函数体包含了函数执行时的具体逻辑。在函数体内,可以使用参数进行计算、调用其他函数、执行条件判断等操作。函数体由一对大括号 {} 包围。

图7

函数调用时,首先需要指定要调用的函数名,随后是圆括号中包含的实际参数列表。实参的数量和类型必须与函数定义中的参数(形参)相匹配。

图8

如果函数有返回值,那么可以使用变量来接收这个返回值。接收返回值的变量类型应该与函数声明的返回类型一致。

图9

5、箭头函数

箭头函数是一种简洁的函数表达方式,特别适用于定义匿名函数或作为回调函数使用。

箭头函数的声明方式如下图所示。

图10

箭头函数使用=>符号来定义,其基本语法如下图所示。

图11

如果函数体只有一个表达式,可以省略大括号和return关键字,直接返回该表达式的值。

图12

当参数只有一个时,甚至可以省略参数周围的括号(但如果参数是一个对象字面量或需要解构赋值,则必须加括号)。

图13

箭头函数的调用与普通函数的调用方式相同。只需使用函数名(或变量名,如果箭头函数被赋值给了一个变量)并传递必要的参数。

图14

下图是一个更完整的实机示例。

图15

6、类与对象

对象的定义和调用是编程的核心部分。对象是通过类(class)来定义的,而类的实例则是对象。对象允许我们将数据和操作这些数据的方法封装在一起。在ArkTS中,对象通常是通过类来定义的。类是一个蓝图,它描述了对象的属性和方法。下图是定义类和对象的基本语法。

图16

对象的调用通常指的是访问对象的属性或调用对象的方法。

图17

下图展示了如何在ArkTS定义类、创建对象以及调用对象的属性和方法。

图18

7、接口和枚举

接口(Interface)和枚举(Enum)是两种重要的类型定义方式,它们有助于构建更加模块化和可维护的代码。

接口的定义:接口是一个抽象的类型,它规定了对象应该具备的结构,但不实现它。接口可以包含属性、方法,甚至是其他接口(称为嵌套接口)。下图是定义接口的基本语法。

图19

接口的调用:

实现接口:通过类来实现接口,确保类具有接口所要求的结构。

类型断言:在运行时将某个值断言为接口类型(尽管这更多是在编译时提供类型安全)。

作为类型注解:在函数参数、返回值或变量上使用接口作为类型注解。

图20

枚举的定义:枚举是一种特殊的类型,它允许开发者为一组相关的值定义一个名字,使代码更加清晰和易于理解。枚举成员可以是字符串或数字。

图21

枚举的调用可以通过枚举名加点(.)和成员名来访问枚举成员的值。

图22

下图是一个结合了接口和枚举的示例。

作者:wust508
链接:zhuanlan.zhihu.com/p/101639066…
来源:知乎