●VON 2025-11-21 23:42:54 发布前言
经过第一周对鸿蒙系统、开发架构和环境搭建的全面学习,我们已经准备好进入真正的编码阶段。从今天起,我们将聚焦于鸿蒙官方主推的开发语言——ArkTS。
作为 TypeScript 的超集,ArkTS 在保留其静态类型、面向对象等优势的基础上,针对鸿蒙生态进行了深度优化,是构建高性能、高可靠 ArkUI 应用的首选语言。本文将以第一人称学习视角,通过大量代码示例,带你快速掌握 ArkTS 的基础语法,为后续 UI 开发打下坚实编程基础。
一、为什么选择 ArkTS?
在开始语法学习前,我想先明确一点:ArkTS 不是“又一门新语言”,而是更安全、更高效的 TypeScript。它具备:
- ✅ 静态类型检查:编译期发现错误,减少运行时崩溃;
- ✅ 与 ArkUI 深度集成:声明式 UI 开发体验流畅;
- ✅ 兼容 JavaScript 语法:JS 开发者可快速上手;
- ✅ 鸿蒙专属优化:如内存安全、并发模型等。
💡 官方已明确:新项目应优先使用 ArkTS,Java 和纯 JS 将逐步退出主流。
二、变量声明:let 与 const
ArkTS 使用 let 和 const 声明变量,不再支持 var(避免作用域混乱)。
// let:可变变量
let appName: string = "我的鸿蒙App";
appName = "HarmonyOS Demo"; // 允许修改
// const:常量,声明时必须赋值,且不可更改
const VERSION: string = "1.0.0";
// VERSION = "2.0.0"; // ❌ 编译报错!
📌 建议:除非确定需要重新赋值,否则优先使用 const。
三、基本数据类型
ArkTS 是强类型语言,但支持类型推断。以下是常用类型:
1. 基础类型
let name: string = "张三";
let age: number = 25;
let isActive: boolean = true;
let timestamp: bigint = 1234567890123456789n; // 大整数
let nothing: undefined = undefined;
let empty: null = null;
2. 数组(Array)
// 方式1:类型注解
let fruits: string[] = ["苹果", "香蕉", "橙子"];
// 方式2:泛型写法
let scores: Array<number> = [90, 85, 95];
// 混合类型(不推荐,但合法)
let mixed: (string | number)[] = ["ID", 1001];
3. 对象(Object)
// 推荐:使用接口定义结构
interface User {
id: number;
name: string;
isVip: boolean;
}
let user: User = {
id: 1,
name: "李四",
isVip: false
};
// 访问属性
console.log(user.name); // 输出:李四
四、运算符
ArkTS 支持常见的算术、比较、逻辑运算符:
let a = 10, b = 3;
// 算术
console.log(a + b); // 13
console.log(a % b); // 1(取余)
// 比较
console.log(a > b); // true
console.log(a === 10); // true(严格相等)
// 逻辑
let isLoggedIn = true;
let hasPermission = false;
console.log(isLoggedIn && hasPermission); // false
console.log(isLoggedIn || hasPermission); // true
⚠️ 注意:避免使用 ==,始终用 === 进行比较。
五、流程控制语句
1. 条件判断:if-else
let hour = 14;
if (hour < 12) {
console.log("上午好");
} else if (hour < 18) {
console.log("下午好"); // 执行此行
} else {
console.log("晚上好");
}
2. 循环:for / while
// for 循环
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
}
console.log(sum); // 15
// while 循环
let count = 3;
while (count > 0) {
console.log(`倒计时:${count}`);
count--;
}
// 输出:倒计时:3 → 2 → 1
3. 数组遍历:for...of(推荐)
let colors = ["红", "绿", "蓝"];
for (const color of colors) {
console.log(color);
}
六、函数定义与调用
ArkTS 支持多种函数写法,推荐使用带类型注解的函数:
1. 普通函数
function greet(name: string): string {
return `你好,${name}!`;
}
let message = greet("小明"); // "你好,小明!"
2. 箭头函数(常用于回调)
const add = (x: number, y: number): number => x + y;
console.log(add(2, 3)); // 5
3. 可选参数与默认值
function createUser(name: string, age?: number, city: string = "北京"): void {
console.log(`用户:${name}, 年龄:${age ?? "未知"}, 城市:${city}`);
}
createUser("王五", 30); // 年龄:30, 城市:北京
createUser("赵六"); // 年龄:未知, 城市:北京
七、在 DevEco Studio 中实践
现在,打开你的 DevEco Studio,在 Index.ets 中尝试以下代码:
// Index.ets
import { Component, Text, Column } from '@ohos/arkui';
@Component
struct Index {
build() {
// 示例:计算斐波那契数列前5项
let fib = [0, 1];
for (let i = 2; i < 5; i++) {
fib[i] = fib[i - 1] + fib[i - 2];
}
Column() {
Text('ArkTS 基础语法练习')
.fontSize(24)
.margin(10)
Text(`斐波那契数列: ${fib.join(', ')}`)
.fontSize(18)
}
.width('100%')
.height('100%')
.justifyContent(FlexAlign.Center)
}
}
运行后,你将在模拟器中看到计算结果,这正是 ArkTS 与 ArkUI 协同工作的体现!
八、小结与下一步
今天,我系统学习了 ArkTS 的基础语法,包括:
- 变量声明(
let/const) - 数据类型(string/number/boolean/数组/对象)
- 运算符与流程控制
- 函数定义与调用
这些知识看似简单,却是构建复杂应用的基石。记住:在鸿蒙开发中,ArkTS 不只是“写逻辑”,更是“驱动 UI”。
✅ 课后练习建议: 编写一个函数,接收数组并返回最大值; 用 if-else 实现一个简单的登录验证(用户名=admin,密码=123456); 在页面中动态显示当前时间(每秒更新)。
暂无评论数据
发布
相关推荐
云上修代码
2171
0
快乐编译者
1168
0
2030
0
老李的控制台
1202
0
1361
0
●VON
HarmonyOS应用开发者初级工程师、影刀初级RPA工程师、YashanDB数据库V23.2认证管理员、金仓数据库认证专员等技能证书,主持参与省级团队赛9项,个人赛2项均获得省级荣誉,其中2025年作为负责人带领团队斩获“挑战杯”全国大学生课外学术科技作品竞赛河南省省级一等奖。
帖子
提问
粉丝
鸿蒙实战:用 ArkTS 开发智能饮水助手
2025-11-25 16:27:52 发布鸿蒙实战:打造跨设备音乐播放器
2025-11-25 16:23:11 发布