当前位置: 首页 > news >正文

鸿蒙5:ArkTS基本介绍

注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙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:stringlike:stringplay():void
}

实现接口的类示例:

class Teach implements People {name: stringlike: stringconstructor(name: string, like: string) {this.name = namethis.like = like}play(): void {console.log(this.name + '喜欢' + this.like)}
}let t=new Teach('东林','篮球')
t.play()

http://www.lqws.cn/news/560179.html

相关文章:

  • Ubuntu20.04离线安装Realtek b852无线网卡驱动
  • Note2.2 机器学习训练技巧:Batch and Momentum(Machine Learning by Hung-yi Lee)
  • vue-29(创建 Nuxt.js 项目)
  • 创客匠人视角:创始人 IP 打造为何成为知识变现的核心竞争力
  • electron中显示echarts
  • 微机系统 第八章 模拟接口
  • Windows 合并多个txt到一个txt文件中 (txt文件的合并与拆分)
  • 【Go语言-Day 10】深入指针应用:解锁函数“引用传递”与内存分配的秘密
  • 如何让ChatGPT模仿人类写作,降低AIGC率?
  • 设计模式-代理模式、装饰者模式
  • [Java 基础]LinkedList
  • 告别脚本!用浏览器为 AWS CLI 实现真正的 Cognito 单点登录
  • 基于Spring Boot的网上购物平台设计与实现
  • 【软考--软件设计师】10.2 关系型数据库
  • 网络安全体系结构和安全防护
  • Linux内核网络协议栈深度解析:面向连接的INET套接字实现
  • 【AI实践】Mac一天熟悉AI模型智能体应用(百炼版)
  • 前端React和Vue框架的区别
  • Spring AI Alibaba 入门指南:打造企业级 AI 应用
  • 全面拥抱vue3
  • 编译安装交叉工具链 riscv-gnu-toolchain
  • 鸿蒙 Scroll 组件深度解析:丝滑滚动交互全场景实现
  • uni-app项目实战笔记26--uniapp实现富文本展示
  • 中国农村统计年鉴-Excel版(1985-2024年)
  • 机器学习框架(1)
  • c#激光设备行业ERP软件进销存软件库存管理软件财务管理软件
  • kubernetes部署3节点高可用elasticsearch v8.14.3
  • OpenCV图像噪点消除五大滤波方法
  • Cesium快速入门到精通系列教程十一:Cesium1.74中高性能渲染上万Polyline
  • Java笔记