鸿蒙开发——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语言介绍

相关推荐
zzialx2 分钟前
HarmonyOS:如何在启动框架中初始化HMRouter
华为·harmonyos
爱笑的眼睛115 分钟前
HarmonyOS Next 弹窗系列教程(5)
华为·harmonyos·harmonyos next
xq9527--6 分钟前
鸿蒙jsonToArkTS_工具exe版本来了
华为·harmonyos
ChinaDragon8 分钟前
HarmonyOS:Counter计数器组件
harmonyos
半醉看夕阳1 小时前
HarmonyOS开发 ArkTS 之字符串的剖析
javascript·harmonyos·arkts
陈奕昆5 小时前
4.3 HarmonyOS NEXT AI驱动的交互创新:智能助手、实时语音与AR/MR开发实战
人工智能·交互·harmonyos
qq_4309085717 小时前
华为ICT和AI智能应用
人工智能·华为
lqj_本人17 小时前
鸿蒙OS&UniApp结合机器学习打造智能图像分类应用:HarmonyOS实践指南#三方框架 #Uniapp
机器学习·uni-app·harmonyos
哼唧唧_17 小时前
使用 React Native 开发鸿蒙运动健康类应用的高频易错点总结
react native·react.js·harmonyos·harmony os5·运动健康
二流小码农19 小时前
鸿蒙开发:loading动画的几种实现方式
android·ios·harmonyos