Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
  • 第2章:ArkTS基本语法

第2章:ArkTS基本语法

变量与常量

1. 变量声明与使用

在ArkTS中,变量是存储数据的基本单元。使用let和var关键字声明变量:

let name: string = "ArkTS";  // 块级作用域变量
var version: number = 1.0;   // 函数级作用域变量

特点:

  • let声明的变量具有块级作用域
  • var声明的变量会提升到函数作用域顶部
  • 推荐优先使用let以避免变量提升带来的问题

2. 常量声明

使用const声明不可变的常量:

const PI: number = 3.1415926;
const APP_NAME: string = "MyArkTSApp";

规范:

  • 常量名通常使用全大写字母+下划线命名法
  • 声明时必须初始化
  • 尝试修改常量会导致编译错误

3. 类型注解与推断

ArkTS支持显式类型注解和自动类型推断:

// 显式类型注解
let count: number = 10;

// 类型推断(自动推导为string类型)
let message = "Hello ArkTS"; 

4. 变量作用域

关键字作用域类型重复声明变量提升
var函数作用域允许是
let块级作用域不允许否
const块级作用域不允许否

5. 最佳实践

  1. 优先使用const:除非需要重新赋值,否则默认使用const
  2. 避免使用var:防止变量提升和污染全局命名空间
  3. 显式类型声明:复杂类型建议显式声明提高可读性
  4. 命名规范:
    • 变量:camelCase(如userName)
    • 常量:UPPER_CASE(如MAX_SIZE)

示例代码

// 变量示例
let isLoading: boolean = true;
var currentPage = 1;  // 自动推断为number类型

// 常量示例
const API_TIMEOUT = 5000;
const DEFAULT_CONFIG = {
  retry: 3,
  cache: true
};

// 块级作用域演示
function demoScope() {
  if (true) {
    let blockVar = "inner";
    var functionVar = "outer";
  }
  console.log(functionVar);  // 正常输出
  console.log(blockVar);     // 报错:blockVar未定义
}

注意:ArkTS作为TypeScript的超集,其变量/常量语法与TS基本一致,但会根据HarmonyOS平台特性进行特定优化。

Last Updated:: 5/22/25, 11:39 AM