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

相关推荐
幽蓝计划8 小时前
HarmonyOS NEXT仓颉开发语言实战案例:动态广场
华为·harmonyos
万少14 小时前
第五款 HarmonyOS 上架作品 奇趣故事匣 来了
前端·harmonyos·客户端
幽蓝计划15 小时前
HarmonyOS NEXT仓颉开发语言实战案例:电影App
华为·harmonyos
HMS Core17 小时前
HarmonyOS免密认证方案 助力应用登录安全升级
安全·华为·harmonyos
生如夏花℡17 小时前
HarmonyOS学习记录3
学习·ubuntu·harmonyos
伍哥的传说17 小时前
鸿蒙系统(HarmonyOS)应用开发之手势锁屏密码锁(PatternLock)
前端·华为·前端框架·harmonyos·鸿蒙
funnycoffee12318 小时前
Huawei 6730 Switch software upgrade example版本升级
java·前端·华为
制造数字化方案研究院18 小时前
59页|PPT|华为集成服务交付ISD业务变革总体方案:业务规则、流程、IT、组织及度量“四位一体”的管理体系
运维·华为
博睿谷IT99_18 小时前
华为物联网认证:开启万物互联的钥匙
物联网·华为·华为认证·职业规划
遇到困难睡大觉哈哈1 天前
HarmonyOS 公共事件机制介绍以及多进程之间的通信实现(9000字详解)
华为·harmonyos