鸿蒙首选开发语言 —— ArkTS 基础语法入门 原创
头像 ●VON 2025-11-21 23:42:54    发布
4938 浏览 137 点赞 0 收藏

前言

经过第一周对鸿蒙系统、开发架构和环境搭建的全面学习,我们已经准备好进入真正的编码阶段。从今天起,我们将聚焦于鸿蒙官方主推的开发语言——ArkTS

作为 TypeScript 的超集,ArkTS 在保留其静态类型、面向对象等优势的基础上,针对鸿蒙生态进行了深度优化,是构建高性能、高可靠 ArkUI 应用的首选语言。本文将以第一人称学习视角,通过大量代码示例,带你快速掌握 ArkTS 的基础语法,为后续 UI 开发打下坚实编程基础。



一、为什么选择 ArkTS?

在开始语法学习前,我想先明确一点:ArkTS 不是“又一门新语言”,而是更安全、更高效的 TypeScript。它具备:

  • 静态类型检查:编译期发现错误,减少运行时崩溃;
  • 与 ArkUI 深度集成:声明式 UI 开发体验流畅;
  • 兼容 JavaScript 语法:JS 开发者可快速上手;
  • 鸿蒙专属优化:如内存安全、并发模型等。
💡 官方已明确:新项目应优先使用 ArkTS,Java 和纯 JS 将逐步退出主流。


二、变量声明:let 与 const

ArkTS 使用 letconst 声明变量,不再支持 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); 在页面中动态显示当前时间(每秒更新)。


©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
分类
OpenHarmony

暂无评论数据

发布

头像

●VON

HarmonyOS应用开发者初级工程师、影刀初级RPA工程师、YashanDB数据库V23.2认证管理员、金仓数据库认证专员等技能证书,主持参与省级团队赛9项,个人赛2项均获得省级荣誉,其中2025年作为负责人带领团队斩获“挑战杯”全国大学生课外学术科技作品竞赛河南省省级一等奖。

26

帖子

0

提问

257

粉丝

关注
最新发布

鸿蒙实战:打造跨设备音乐播放器

2025-11-25 16:23:11    发布
热门推荐
地址:北京市朝阳区北三环东路三元桥曙光西里甲1号第三置业A座1508室 商务内容合作QQ:2291221 电话:13391790444或(010)62178877
版权所有:电脑商情信息服务集团 北京赢邦策略咨询有限责任公司
声明:本媒体部分图片、文章来源于网络,版权归原作者所有,我司致力于保护作者版权,如有侵权,请与我司联系删除
京ICP备:2022009079号-2
京公网安备:11010502051901号
ICP证:京B2-20230255