Harmony OS Next应用开发基础篇(四)-ArkTs语法基础
ArkTS是一种为构建高性能应用而设计的编程语言。ArkTS在继承TypeScript语法的基础上进行了优化,以提供更高的性能和开发效率。本文总结了ArkTs入门必备的语法基础。
大家好,这里是鸿蒙开天组,之前我们认识了一些鸿蒙的基础组件,今天就让我们来认识一下ArkTs
ArkTs介绍:
ArkTS是一种为构建高性能应用而设计的编程语言。ArkTS在继承TypeScript语法的基础上进行了优化,以提供更高的性能和开发效率。
在UI开发框架中,ArkTS主要扩展了如下能力:
- 基本语法:ArkTS定义了声明式UI描述、自定义组件和动态扩展UI元素的能力,再配合ArkUI开发框架中的系统组件及其相关的事件方法、属性方法等共同构成了UI开发的主体。
- 状态管理:ArkTS提供了多维度的状态管理机制。。在UI开发框架中,与UI相关联的数据可以在组件内使用,也可以在不同组件层级间传递,比如父子组件之间、爷孙组件之间,还可以在应用全局范围内传递或跨设备传递。另外,从数据的传递形式来看,可分为只读的单向传递和可变更的双向传递。开发者可以灵活地利用这些能力来实现数据和UI的联动。
- 渲染控制:ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,渲染对应状态下的UI内容。循环渲染可从数据源中迭代获取数据,并在每次迭代过程中创建相应的组件。数据懒加载从数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。
ArkTS通过声明引入变量、常量、函数和类型。
输出语句
写法:console.log('消息说明', '打印的内容')
编写并运行后,我们可以在编辑器的日志位置查看打印出的内容。
举个栗子:
console.log("让我们学鸿蒙","好啊好啊");

需要注意的是,console.log()之中必须要传入一个字符串,也就是说
console.log("让我们学鸿蒙",1);//这是可以运行的
console.log(1);//这是不能运行的,因为没有传入字符串
注释:
- 单行注释 // 注释内容,快捷键: Ctrl +/
- 块注释 /* 注释内容*/,快捷键:Ctrl + Shift + /
认识和存储数据
认识数据
编程语言的核心是处理数据。
我们先来认识一下三种常见的基础数据类型:
① string 字符串:描述信息
② number 数字:计算
③ boolean 布尔:判断 (真、假)
在接下来的学习中,我们还会接触到更多的数据类型,这里暂时按下不表。
数据存储
变量
变量:专门用来存储数据的容器(可变)
// let 变量名: 类型 = 值
let title: string = '奥利奥水果捞'
let price: number = 21.8
let isSelect: boolean = true
变量中存取的数据可以修改
// 1. 字符串 string
let title: string = '沙威玛'
console.log('字符串title', title)
// 2. 数字 number
let age: number = 18
console.log('年龄age', age)
// 3. 布尔 boolean,值 true真,false假
let isLogin: boolean = false
console.log('是否登录成功', isLogin)
// 变量存储的数据可以修改
age = 40
console.log('年龄age', age)
常量
常量:用来存储数据 (不可变)
写法:const 常量名: 类型 = 值
const PI: number = 3.14
console.log('圆周率', PI)
const companyName: string = '华为'
console.log('公司名称', companyName)
命名规则
① 只能包含数字、字母、下划线、$,不能以数字开头
② 不能使用内置关键字或保留字 (比如 let、const)
③ 严格区分大小写
数组
数组:是一个容器,可以存储多个数据
注意:数组指定的类型和存储的数据类型要必须一致,否则会报错
let 数组名: 类型[] = [数据1, 数据2,...]
let names: string[] = ['小红', '小明', '大强']
可以通过:数组名[索引值]的方式取出数组中的数据,也可以直接使用数组
let names: string[] = ['小红', '小明', '大强']
console.log('数组names', names)
// 根据索引取数据
console.log('姓名:', names[0])
函数
函数:是可以被重复使用的代码块
举个栗子:

打印这样一个图像,如果手打,我们需要这样写
console.log('五角星', '☆')
console.log('五角星', '☆☆')
console.log('五角星', '☆☆☆')
console.log('五角星', '☆☆☆☆')
console.log('五角星', '☆☆☆☆☆')
如果只是很少数量的打印星星,这样编写当然没有问题,但数量一旦上去,编译就会变得繁琐。
而使用函数,我们可以通过很简单的方式实现:
function star(num:number) {
for (let i = 1;i<=num;i++){
let star:string = '☆'
console.log("五角星",star.repeat(i))
}
}
star(6)
上面的就是一个函数,通过观察,我们可以发现一个函数具有以下基本属性:
先定义后使用
函数的使用需要先进行定义
function 函数名() {
函数体
}
函数名()
参数
参数的作用:函数能够接收和处理外部的数据,提高函数的灵活性和通用性。
- 实参:真实数据(函数调用时候的传入的真实数据)
- 形参:形式上的参数(函数定义时候写的参数)
像上面的函数中,形参定义了传入的数据是数字,实参则是调用时进行传入,通过设置参数,我们就可以实现根据传入的数字数量打赢五角星。
返回值
返回值作用:将函数的执行结果传递给其他部分使用(函数外部)。
默认情况下,函数外部无法直接使用函数内部执行结果;如果想要在函数外部使用内部执行结果,需要将这个结果设置为函数的返回值。
关键字:return
现在我们来定义一个函数,用于将传入的两个数字参数相加
function Plus(num1:number,num2:number){
return num1+num2
}
console.log("num",Plus(90,100))
注意这里无法直接使用console.log打印结果,因为返回的结果是数字,而console.log传入的参数一定要包含一个字符串。
箭头函数
箭头函数是 比普通函数 更简洁 的一种函数写法
let 函数名 = (形参1: 类型, 形参2: 类型) => {
// 函数体
// 1. 计算过程
// 2. 返回结果
return 计算的结果
}
函数名(实参1, 实参2)
对象
作用:用于描述一个物体的特征和行为
对象:是一个可以存储多个数据的容器。
键值对:属性名: 属性值
对象-定义&使用
- 通过interface接口约定 对象结构类型
interface 接口名 {
属性1: 类型1
属性2: 类型2
属性3: 类型3
}
interface Person {
name: string
age: number
weight: number
}
- 定义对象并使用:对象名.属性名
// 1. 定义接口
interface Person {
name: string
age: number
weight: number
}
// 2. 基于接口,定义对象
let zs: Person = {
name: '张三',
age: 18,
weight: 140
}
console.log('名字', zs.name)
console.log('年龄', zs.age)
let ls: Person = {
name: '李四',
age: 19,
weight: 99
}
console.log('名字', ls.name)
console.log('年龄', ls.age)
对象-方法
方法作用:描述对象的具体行为
- 约定方法类型
interface 接口名称 {
方法名: (参数:类型) => 返回值类型
}
interface Person{
dance: () => void
sing: (song: string) => void
}
- 添加方法(箭头函数)
let zs: Person = {
speak: () => {
console.log('张三说', '我是张三')
},
sing: (song: string) => {
console.log('张三说', '我来唱首歌', song)
}
}
// 对象名.方法名(参数)
zs.speak()
ym.sing('大香蕉')
联合类型
联合类型是一种灵活的数据类型,它修饰的变量可以存储不同类型的数据。
// let 变量: 类型1 | 类型2 | 类型3 = 值
let judge: number | string = 100
judge = 'A+'
judge = '优秀'
console.log('年终考试评价', judge)
// 联合类型可以将变量值约定在一组数据范围内进行选择
let gender: 'man' | 'woman' | 'secret' = 'secret'
枚举类型
枚举类型是一种特殊的数据类型,约定变量只能在一组数据范围内选择值。
示例:
// 1. 定义枚举 (定义常量列表)
enum ThemeColor {
Red = '#ff0f29',
Orange = '#ff7100',
Green = '#30b30e'
}
// 2. 给变量设定枚举类型
let color: ThemeColor = ThemeColor.Orange
console.log('color', color)
以上是关于鸿蒙基础篇-ArkTs的一些内容,方便大家学习,至此,关于鸿蒙基础篇-ArkTs的内容就介绍到这里,愿您能学以致用,开发出精彩的鸿蒙应用!
以上内容仅供学习交流,如有违法或者侵权可以联系删除。
更多推荐

所有评论(0)