小学姐教你HarmonyOS开发-02-ArkTS语言基础

简单介绍基于TypeScript扩展的ArkTS语言。
ArkTS是鸿蒙生态的应用开发语言,由ArkUI框架提供,以声明式开发范式来开发界面,让开发者可以更简洁、更自然的方式开发高性能应用。

源课程:d2school(第2学堂)

什么是ArkTS?

ArkTS是鸿蒙生态的应用开发语言。它在保持TypeScript(简称TS)基本语法风格的基础上,对TS的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式UI、状态管理等相应的能力,让开发者可以更简洁、更自然的方式开发高性能应用。

ArkTS、TS和JS的关系

TypeScript(简称TS)是JavaScript(简称JS)的超集,ArkTS则是TS的超集。

关系图

初步了解TS常用的基础类型

已经了解的同学可跳过

  • 布尔值:TS中可以使用 boolean 来表示这个变量是布尔值,可以赋值为true或者false。
let show: boolean = false; 
  • 数字:TS中的所有数字都是浮点数,这些浮点数的类型是 number
let num1: number = 2024; 
let num2: number = 0b11111101000; // 二进制 2024 
let num3: number = 0o3750; // 八进制 2024 
let num4: number = 0x7e8; // 十六进制 2024 
  • 字符串:TS里使用 string 表示文本数据类型,可以使用双引号或单引号表示字符串。
let name: string = "Jacky"; name = 'Mick'; 
  • 数组:TS有两种方式可以定义数组。

第一种,可以在元素类型后面接上 [],表示由此类型元素组成的一个数组。

let list: number[] = [1, 2, 3]; 
第二种方式是使用数组泛型,Array<元素类型>。
let list: Array<number> = [1, 2, 3]; 
  • 元祖:元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。 比如,你可以定义一对值分别为 stringnumber 类型的元组。
let x: [string, number]; x = ['hello', 10]; // OK 
x = [10, 'hello']; // Error 
  • Unknown:标记暂时未知类型的变量,直接通过编译阶段的检查。
let value: unknown = 4;
value= 'maybe a string instead';
value= false; 
  • Void:当一个函数没有返回值时,你通常会见到其返回值类型是 void
function test(): void { console.log('1'); } 
  • 联合类型:表示取值可以为多种类型中的一种。
let value: string | number;

value= 'hello'; value= 1; 
  • 为函数定义类型

为了确保输入输出的准确性,我们可以函数添加类型。
实现可选参数的功能只需在参数名旁使用 ?

function add(x: number, y: number, z?: number): number { 
    return x + y; 
} 

ArkTS声明式开发范式

装饰器

用来装饰类、结构体、方法以及变量,赋予其特殊的含义。

  • @Entry:表示这是个入口组件
  • @Component:表示这是个自定义组件;
  • @State:表示组件中的状态变量,此状态变化会引起UI变更。

自定义组件

可复用的UI单元,可组合其它组件,如上图中被 @Component 装饰的 struct Hello

UI描述

声明式的方式来描述 UI 的结构,如上图中 build() 方法内部的代码块。

内置组件

框架中默认内置的基础和布局组件,可直接被开发者调用,比如上图中的 RowColumnText

属性方法

用于组件属性的配置,统一通过属性方法进行设置,如上图中的 fontSize()fontWeight()width()height() 等,可通过链式调用的方式设置多项属性。

事件方法

用于添加组件对事件的响应逻辑,统一通过事件方法进行设置,如上图中跟随在 Text 后面的 onClick()

ArkTS基础知识

渲染控制语法🎞️ (本小节带视频)

  • 条件渲染:ifelse ifelse
@Entry
@Component
struct Index {
  @State count: number = 2

  build() {
    Row() {
      Column() {
        Button(`count:${this.count}`)
          .fontSize('30')
          .onClick(() => {
            this.count--
          })

        if (this.count === 0) {
          Text('Hello')
            .fontSize(50)
        } else if (this.count === 1) {
          Text('Hello World')
            .fontSize(50)
        } else {
          Text('Hello ArkTs')
            .fontSize(50)
        }

      }
      .width('100%')
    }
    .height('100%')
  }
}
  • 效果-1

HMOS-ls02-1-ArkTS语言基础-1

  • 循环渲染:ForEach

@Entry
@Component
struct list {
  @State listData: Array<string> = ['苹果', '西瓜', '草莓']

  build() {
    Row() {
      Column() {
        ForEach(
          this.listData,
          (item: string, index: number) => {
            Text(`${index + 1}、${item}`)
              .fontSize(40)
          },
          (item: string) => item //可选
        )
      }
      .width('100%')
    }
    .height('100%')
  }
}
  • 效果-2

HMOS-ls02-1-ArkTS语言

  • 22
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
HarmonyOS移动应用开发ArkTS版)源代码是用于创建适用于HarmonyOS操作系统的移动应用程序的开发工具。该源代码包含了一系列用于构建应用程序界面、处理用户交互、数据管理和其他功能的代码库和工具。开发者可以使用这些源代码来快速开发适用于HarmonyOS系统的移动应用,并且可以充分利用系统的各种特性和功能。 在HarmonyOS移动应用开发ArkTS版)源代码中,开发者可以找到各种模块和组件,如界面设计工具、数据管理工具、网络通信工具以及其他与移动应用相关的代码。这些源代码提供了丰富的功能和接口,使得开发者可以根据自己的需求来定制和开发应用程序。 通过使用HarmonyOS移动应用开发ArkTS版)源代码,开发者可以更加高效地进行应用程序开发,同时也可以更加灵活地控制应用程序的功能和性能。此外,由于HarmonyOS系统独特的分布式架构和资源管理能力,开发者还可以利用源代码中提供的相关工具和接口,开发出更加智能和具有创新性的移动应用程序。 总之,HarmonyOS移动应用开发ArkTS版)源代码为开发者提供了丰富的工具和接口,帮助他们快速、高效地开发适用于HarmonyOS系统的移动应用程序。这些源代码的使用不仅可以提高开发效率,还可以充分发挥HarmonyOS系统的优势,为用户带来更加智能、便捷和创新的移动应用体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南郁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值