鸿蒙5:ArkTS基本介绍

发布于:2025-06-29 ⋅ 阅读:(20) ⋅ 点赞:(0)

注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下

如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识

专栏地址: https://blog.csdn.net/qq_56760790/category_12794123.html

文章所属类目(HarmonyOS 语言-ArkTS)

目录

1.  基本介绍

2. 语法

2.1 变量声明

2.2 常量声明

2.3 自动类型推断

2.4 联合类型

2.5 数组

2.6 函数

2.7 类

2.8 接口


1.  基本介绍

ArkTS是HarmonyOS优选的主力应用开发语言。在UI开发框架中,ArkTS主要扩展了如下能力:

  • 基本语法:声明式 UI,内置组件,自定义组件,扩展组件等。
  • 状态管理:数据驱动视图,组件通讯,全局状态共享等
  • 渲染控制:循环渲染,条件渲染,懒加载等

如果有 Vue等的使用经验概念上可以很快上手

ArkTS它是纯新的一门语言,它不是前端也不是TypeScript,它是TS的超集

ArkTS 文件使用的后缀名是 ets

2. 语法

2.1 变量声明

定义

以关键字let开头的声明引入变量,该变量在程序执行期间可以具有不同的值。

代码示例

let fruit: string = '苹果';
fruit = '香蕉';


2.2 常量声明
 

定义


以关键字const开头的声明引入只读常量,该常量只能被赋值一次。
 

代码示例

const fruit: string = '苹果';

对常量重新赋值会造成编译时错误。

变量、常量的命名规则:

  • 只能包含数字、字母、下划线、$,不能以数字开头
  • 不能使用内置关键字或保留字(比如let const)
  • 严格区分大小写

2.3 自动类型推断

由于ArkTS是一种静态类型语言,所有数据的类型都必须在编译时确定。

但是,如果一个变量或常量的声明包含了初始值,那么开发者就不需要显式指定其类型。ArkTS规范中列举了所有允许自动推断类型的场景。

以下示例中,两条声明语句都是有效的,两个变量都是string类型:

let fruit1: string = '苹果';
let fruit2 = '香蕉';

2.4 联合类型

联合类型是一种灵活的数据类型,它修饰的变量可以存储不同类型的数据;

语法:

let 变量:类型1|类型2|类型3 =值

let sex:string|number;
sex=0
sex='男'

2.5 数组

定义

数组,是一个容器,可以存储多个数据;

语法:

let 数组名:类型[]=[数据1,数据2,....]

let names:string[]=['小头','东林']

注意:数组指定的类型和存储的数据类型必须要一致,否则会报错

数组中存储的每个数据,都有自己的编号,编号从0开始(索引)

联合类型数组:

let names:(string|number)[]=[1,2,'小头']

2.6 函数

函数:是可以被重复使用的代码块

函数分为以下四种类型:

1、无参无返回值

2、无参有返回值

3、有参有返回值

4、有参无返回值

调用函数:

函数名()

函数的完整用法

1、无参无返回值

function test(){
  console.log('我是无参无返回值函数');
}

2、无参有返回值

function test(): number {
  console.log('我是无参有返回值函数');
  return 3;
}

3、有参有返回值

function test(a: number, b: number): number {
  console.log('我是有参有返回值函数');
  return a + b;
}

4、有参无返回值

function test(name: string) {
  console.log(name + '要好好学习');
}

2.7 类

类声明引入一个新类型,并定义其字段、方法和构造函数。

在以下示例中,定义了Person类,该类具有字段name和like、构造函数和方法play:

class Person {
  name: string = ''
  like: string = ''

  constructor(name: string, like: string) {
    this.name = name;
    this.like = like;
  }

  play() {
    console.log(this.name + '喜欢' + this.like)
  }
}

定义类后,可以使用关键字new创建实例:

let p = new Person('东林', '篮球');
p.play()

2.8 接口

接口声明引入新类型。接口是定义代码协定的常见方式。

可以通过接口结合 implements 来限制 类 必须要有某些属性和方法

任何一个类的实例只要实现了特定接口,就可以通过该接口实现多态。

接口通常包含属性和方法的声明

interface People{
  name:string
  like:string
  play():void
}

实现接口的类示例:

class Teach implements People {
  name: string
  like: string

  constructor(name: string, like: string) {
    this.name = name
    this.like = like
  }

  play(): void {
    console.log(this.name + '喜欢' + this.like)
  }
}

let t=new Teach('东林','篮球')
t.play()


网站公告

今日签到

点亮在社区的每一天
去签到