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

相关推荐
2501_920931704 小时前
React Native鸿蒙跨平台采用ScrollView的horizontal属性实现横向滚动实现特色游戏轮播和分类导航
javascript·react native·react.js·游戏·ecmascript·harmonyos
摘星编程5 小时前
React Native鸿蒙版:Drawer抽屉导航实现
react native·react.js·harmonyos
lbb 小魔仙7 小时前
【Harmonyos】开源鸿蒙跨平台训练营DAY9:获取分类数据并渲染
flutter·华为·harmonyos
mocoding7 小时前
Flutter 3D 翻转动画flip_card三方库在鸿蒙版天气预报卡片中的实战教程
flutter·3d·harmonyos
2501_920931707 小时前
React Native鸿蒙跨平台实现推箱子游戏,完成玩家移动与箱子推动,当所有箱子都被推到目标位置时,玩家获胜
javascript·react native·react.js·游戏·ecmascript·harmonyos
C雨后彩虹8 小时前
计算疫情扩散时间
java·数据结构·算法·华为·面试
24zhgjx-lxq9 小时前
华为ensp:MSTP
网络·安全·华为·hcip·ensp
qq_177767379 小时前
React Native鸿蒙跨平台数据使用监控应用技术,通过setInterval每5秒更新一次数据使用情况和套餐使用情况,模拟了真实应用中的数据监控场景
开发语言·前端·javascript·react native·react.js·ecmascript·harmonyos
烬头88219 小时前
React Native鸿蒙跨平台应用实现了onCategoryPress等核心函数,用于处理用户交互和状态更新,通过计算已支出和剩余预算
前端·javascript·react native·react.js·ecmascript·交互·harmonyos
小雨青年10 小时前
鸿蒙 HarmonyOS 6 | 系统能力 (06) 构建现代化通知体系 从基础消息到实况
华为·harmonyos