当前位置: 首页 > news >正文

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

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

  • ArkTS 新手友好版语法指南
    • 1.🖧 知识图谱
    • 2.🌟 变量与常量
      • 变量 (`let`)
      • 常量 (`const`)
    • 3.🔢 核心数据类型
      • 基础类型
      • 复合类型
      • 特殊类型
    • 4.⚙️ 运算符与流程控制
      • 常用运算符
      • 流程控制
    • 5.🛠️ 函数与模块化
      • 函数定义
      • 模块化开发
    • 6.🏗️ 面向对象编程
      • 类与对象
      • 继承与多态
      • 访问控制
    • 7.💡 实用技巧

ArkTS 新手友好版语法指南

1.🖧 知识图谱

在这里插入图片描述

2.🌟 变量与常量

变量 (let)

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

常量 (const)

const PI = 3.14
// PI = 3.1415 ❌ 报错!常量不可修改

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


3.🔢 核心数据类型

基础类型

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

复合类型

数组

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

对象

interface Person {name: stringage: number
}
let user: Person = { name: "张三", age: 25 }

特殊类型

联合类型

let id: string | number = "A001"  // 可以是字符串或数字

枚举

enum Direction { Up, Down, Left, Right }
let move = Direction.Up

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

常用运算符

// 算术运算
let sum = 10 + 5 // 逻辑判断
if (age > 18 && isStudent) { ... }// 三元表达式
let status = score >= 60 ? "及格" : "不及格"

流程控制

条件判断

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

循环遍历

// for循环
for (let i = 0; i < 5; i++) {console.log(`${i}次循环`)
}// for-of遍历数组
for (let fruit of fruits) {console.log(fruit)
}

5.🛠️ 函数与模块化

函数定义

// 基础函数
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}!` : "你好!")
}

模块化开发

导出模块

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

导入模块

import { PI, circleArea } from './math'
console.log(circleArea(2)) // 输出12.56

6.🏗️ 面向对象编程

类与对象

class Animal {// 属性name: string// 构造函数constructor(name: string) {this.name = name}// 方法speak() {console.log(`${this.name} 发出叫声`)}
}// 创建实例
let dog = new Animal("旺财")
dog.speak() // 输出"旺财 发出叫声"

继承与多态

class Cat extends Animal {// 重写方法speak() {console.log(`${this.name} 喵喵叫`)}
}let kitty = new Cat("小白")
kitty.speak() // 输出"小白 喵喵叫"

访问控制

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

7.💡 实用技巧

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

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

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

    let input = document.getElementById('user') as HTMLInputElement
    

新手避坑指南

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

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

相关文章:

  • 一种扫描雷达超分辨成像检测一体化方法——论文阅读
  • python23-函数返回值和参数处理,变量作用域
  • 【计算机视觉】OpenCV项目实战:OpenCV_Position 项目深度解析:基于 OpenCV 的相机定位技术
  • shell 脚本
  • 【Python 模块】
  • 前端实现文件下载
  • python掌握知识
  • 怎么在非 hadoop 用户下启动 hadoop
  • SR触发器为什么能够消抖
  • Just Friends - 1outa
  • hadoop中的序列化和反序列化(2)
  • ARCGIS PRO DSK 选择坐标系控件(CoordinateSystemsControl )的调用
  • Android开发-视图基础
  • SQLite数据库加密(Java语言、python语言)
  • React Router Vs Vue Router
  • 实现一个漂亮的Three.js 扫光地面 圆形贴图扫光
  • LeetCode106_从中序与后序遍历序列构造二叉树
  • LeetCode第190题_颠倒二进制位
  • BUUCTF——杂项渗透之神秘的文件
  • 信创生态核心技术栈:国产芯片架构适配详解
  • 江苏省委社会工作部部长等多人拟在省志愿服务联合会任职
  • 巴基斯坦空袭印度多地空军基地,巴战机进入印领空
  • 华泰柏瑞基金总经理韩勇因工作调整卸任,董事长贾波代为履职
  • 国常会:研究深化国家级经济技术开发区改革创新有关举措等
  • 烈士沈绍藩遗孤、革命家帅孟奇养女舒炜逝世,享年96岁
  • 前4个月我国货物贸易进出口同比增长2.4%,增速较一季度加快1.1个百分点