当前位置: 首页 > 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语言介绍

http://www.dtcms.com/a/175471.html

相关文章:

  • 一种扫描雷达超分辨成像检测一体化方法——论文阅读
  • 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——杂项渗透之神秘的文件
  • 信创生态核心技术栈:国产芯片架构适配详解
  • OpenCV计算机视觉实战(3)——计算机图像处理基础
  • VUE+ElementUI 使用el-input类型type=“number” 时,取消右边的上下箭头
  • Pdf转Word案例(java)
  • Carlink 技术:搭建汽车与手机的智能桥梁
  • react+ts中函数组件父子通信方式
  • React Fiber
  • Canal mysql to mysql 增加 online 库同步配置指南
  • 【基础】Python包管理工具uv使用全教程
  • 13前端项目----购物车修改
  • MySQL初阶:基础增删改查(CRUD)