当前位置: 首页 > 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.xdnf.cn/news/321607.html

相关文章:

  • 我的世界云端服务器具体是指什么?
  • Laravel 12 实现验证码功能
  • 代码随想录算法训练营第三十四天
  • WordPress个人博客搭建(三):WordPress网站优化
  • RabbitMq学习(第一天)
  • 5.7 react 路由
  • Go语言八股之并发详解
  • 管家婆实用贴-如何在Excel中清除空格
  • Go语言——error、panic
  • 解决0x0000011b共享打印机无法连接!
  • 泛型设计模式实践
  • 初始图形学(7)
  • 2025-05-07-FFmpeg视频裁剪(尺寸调整,画面比例不变)
  • 系统思考:教育焦虑恶性循环分析
  • C语言初阶:数组
  • DeepSeek全域智能革命:从量子纠缠到星际文明的认知跃迁引言:认知边界的坍缩与重构
  • 解决leetcode第3537题填充特殊网格
  • CSS详细学习笔记
  • eclipse常用快捷键
  • Jmeter进行http接口测试
  • 使用VSCode在Windows 11上编译运行项目
  • 005 权限的理解
  • Linux上将conda环境VLLM服务注册为开机自启
  • Java 常用的 ORM框架(对象关系映射)
  • 企业级AI革命!私有化部署开源大模型:数据安全+自主可控,打造专属智能引擎
  • Ubuntu20.04安装使用ROS-PlotJuggler
  • 【MCP】客户端配置(ollama安装、qwen2.5:0.5b模型安装、cherry-studio安装配置)
  • C#与Halcon联合编程
  • 迁移学习:如何加速模型训练和提高性能
  • 锁相环HMC830的调试