鸿蒙开发——4.ArkTS快速入门指南

鸿蒙开发------4.ArkTS快速入门指南

ArkTS 新手友好版语法指南

1.🖧 知识图谱

2.🌟 变量与常量

变量 (let)

typescript 复制代码
let name = "小明"  // 自动推断为字符串类型
name = "小红"     // 正确,变量可重新赋值

常量 (const)

typescript 复制代码
const PI = 3.14
// PI = 3.1415 ❌ 报错!常量不可修改

小技巧:初始化时类型可自动推断,无需显式声明


3.🔢 核心数据类型

基础类型

类型 示例 特点
number let score = 95 支持整数/浮点数/不同进制
string let msg = "Hi!" 支持模板字符串${变量}
boolean let isOpen = true 仅true/false两个值
void function sayHi(){} 表示无返回值

复合类型

数组

typescript 复制代码
let fruits: string[] = ["苹果", "香蕉"]
console.log(fruits[0])  // 输出"苹果"

对象

typescript 复制代码
interface Person {
  name: string
  age: number
}
let user: Person = { name: "张三", age: 25 }

特殊类型

联合类型

typescript 复制代码
let id: string | number = "A001"  // 可以是字符串或数字

枚举

typescript 复制代码
enum Direction { Up, Down, Left, Right }
let move = Direction.Up

4.⚙️ 运算符与流程控制

常用运算符

typescript 复制代码
// 算术运算
let sum = 10 + 5 

// 逻辑判断
if (age > 18 && isStudent) { ... }

// 三元表达式
let status = score >= 60 ? "及格" : "不及格"

流程控制

条件判断

typescript 复制代码
if (temperature > 30) {
  console.log("开启空调")
} else if (temperature < 10) {
  console.log("开启暖气")
}

循环遍历

typescript 复制代码
// for循环
for (let i = 0; i < 5; i++) {
  console.log(`第${i}次循环`)
}

// for-of遍历数组
for (let fruit of fruits) {
  console.log(fruit)
}

5.🛠️ 函数与模块化

函数定义

typescript 复制代码
// 基础函数
function add(a: number, b: number): number {
  return a + b
}

// 箭头函数
const multiply = (x: number, y: number) => x * y

// 可选参数
function greet(name?: string) {
  console.log(name ? `你好, ${name}!` : "你好!")
}

模块化开发

导出模块

typescript 复制代码
// math.ts
export const PI = 3.14
export function circleArea(r: number) {
  return PI * r * r
}

导入模块

typescript 复制代码
import { PI, circleArea } from './math'
console.log(circleArea(2)) // 输出12.56

6.🏗️ 面向对象编程

类与对象

typescript 复制代码
class Animal {
  // 属性
  name: string
  
  // 构造函数
  constructor(name: string) {
    this.name = name
  }

  // 方法
  speak() {
    console.log(`${this.name} 发出叫声`)
  }
}

// 创建实例
let dog = new Animal("旺财")
dog.speak() // 输出"旺财 发出叫声"

继承与多态

typescript 复制代码
class Cat extends Animal {
  // 重写方法
  speak() {
    console.log(`${this.name} 喵喵叫`)
  }
}

let kitty = new Cat("小白")
kitty.speak() // 输出"小白 喵喵叫"

访问控制

修饰符 访问权限
public 任意位置访问 (默认)
private 仅类内部访问
protected 类内部和子类访问

7.💡 实用技巧

  1. 空安全机制:默认变量不可为null,需用联合类型声明

    typescript 复制代码
    let age: number | null = null
  2. 可选链操作:避免访问null/undefined属性时的报错

    typescript 复制代码
    console.log(user?.address?.city) // 安全访问嵌套属性
  3. 类型断言:明确告知编译器变量类型

    typescript 复制代码
    let input = document.getElementById('user') as HTMLInputElement

新手避坑指南

  • 使用===代替==进行严格相等判断
  • 函数参数必须声明类型
  • 类属性必须初始化

更多完整示例和进阶用法可参考华为官方文档:ArkTS语言介绍

相关推荐
慧翔天地人才发展学苑5 小时前
大厂 | 华为半导体业务部2026届秋招启动
华为·面试·职场和发展·跳槽·求职招聘·职场晋升
小小小小小星5 小时前
鸿蒙开发核心功能模块全解析:从架构到实战应用
harmonyos
奶糖不太甜6 小时前
鸿蒙开发问题之纯血鸿蒙自启动步骤详解
harmonyos
xq952710 小时前
鸿蒙next 获取versionCode和versionName
harmonyos
鸿蒙小白龙11 小时前
openharmony之恢复出厂设置需求总结
harmonyos·鸿蒙·鸿蒙系统
深海的鲸同学 luvi12 小时前
【HarmonyOS】H5 实现在浏览器中正常跳转 AppLinking 至应用
华为·harmonyos
挨踢攻城13 小时前
华为 | SD-WAN场景丢包类问题定位
网络·华为·php·hcie·hcia·hcip·厦门微思网络
zhanshuo1 天前
HarmonyOS 实战:学会在鸿蒙中使用第三方 JavaScript 库(附完整 Demo)
harmonyos
zhanshuo1 天前
鸿蒙应用权限处理全攻略:从配置到相机拍照,一篇文章讲透
harmonyos
AlbertZein1 天前
HarmonyOS5 凭什么学鸿蒙—— GetContext
架构·harmonyos