当前位置: 首页 > 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.lryc.cn/news/576479.html

相关文章:

  • VR训练美国服务器:高性能解决方案与优化指南
  • 【LeetCode 热题 100】438. 找到字符串中所有字母异位词——(解法三)不定长滑动窗口+数组
  • 构建 AI 系统的 4 大 Agentic AI 设计模式
  • 网关ARP防护的措施
  • qt和qtcreator版本关系
  • n8n-nodes-puppeteer截图中文变方块乱码解决方法
  • 在单片机中如何实现一个shell控制台
  • Launcher3中的CellLayout 和ShortcutAndWidgetContainer 的联系和各自职责
  • 前端react面试题之实现网页多选搜索框
  • 【学习笔记】深入理解Java虚拟机学习笔记——第12章 Java内存模型与线程
  • python中学物理实验模拟:瞬间推力与摩擦力作用下的物体运动
  • 力扣网C语言编程题:在数组中查找目标值位置之二分查找法
  • 解决cursor无法下载插件等网络问题
  • 深入详解:随机森林算法——概念、原理、实现与应用场景
  • screen用法
  • Gradio全解13——MCP详解(4)——TypeScript包命令:npm与npx
  • 服务器的维护技术都有哪些?
  • Flutter基础(Isolate)
  • 【论文阅读笔记】知网SCI——基于主成分分析的空间外差干涉数据校正研究
  • 开疆智能CCLinkIE转ModbusTCP网关连接傲博机器人配置案例
  • 舵机在不同类型机器人中的应用
  • JVM调优实战 Day 10:性能指标采集与可视化
  • 【闲谈】技术债:软件开发的隐形杀手
  • Redis高级数据结构深度解析:BitMap、布隆过滤器、HyperLogLog与Geo应用实践
  • JWT认证性能优化实战指南
  • 《剖开WebAssembly 2.0:C++/Rust内存管理困局与破局》
  • 剑指offer48_两个链表的第一个公共节点
  • 叉车考试真题(含答案)pdf下载
  • 告别脚本!用浏览器为 AWS CLI 实现真正的 Cognito 单点登录
  • 案例开发 - 日程管理系统 - 第一期