一、开发环境配置

1.1 下载与安装

  1. 1.

    访问华为开发者联盟官网下载DevEco Studio

  2. 2.

    安装注意事项:

    • 避免安装在C盘,建议新建非中文文件夹

    • 勾选以下选项:

      • 创建桌面快捷方式

      • 添加环境变量

      • 以项目方式打开文件夹

  3. 3.

    完成安装后启动软件

    1.2 软件配置

  4. 1.

    ​汉化设置​​:

    • File → Setting → Plugins

    • 搜索"Chinese"并勾选

    • 重启生效

  5. 2.

    ​创建工程​​:

    • 选择Create Project → Empty Ability

    • 设置项目名称和存储路径(建议非中文路径)

    • 点击Finish完成创建

      二、基础语法

      2.1 输出语句

      console.log('消息类型', '输出内容')  // 支持多参数输出

      作用​​:调试工具,输出程序运行信息到控制台。

      2.2 注释

      // 单行注释(Ctrl+/) /* 多行注释 (Ctrl+Shift+/) */

      三、数据类型

      3.1 基础类型

      类型

      说明

      示例

      string

      文本数据

      'Hello'

      number

      数值数据

      1233.14

      boolean

      布尔值

      truefalse

      3.2 变量声明

      let 变量名: 类型 = 值 // 可变变量 
      const 常量名: 类型 = 值 // 不可变常量

      命名规则​​:

    • 1.

      可包含:字母、数字、_、$(不能数字开头)

    • 2.

      不能使用保留字

    • 3.

      区分大小写

  1. 四、数据结构

    • 4.1 数组

      let 数组名: 类型[] = [值1, 值2]

      ​核心方法​​:

      方法

      作用

      示例

      push()

      末尾添加

      arr.push('新元素')

      pop()

      移除末尾

      arr.pop()

      shift()

      移除首项

      arr.shift()

      unshift()

      开头添加

      arr.unshift('新元素')

      slice()

      获取子数组

      arr.slice(1,3)

      splice()

      修改数组

      arr.splice(1,0,'新元素')

      4.2 对象

      
          
      
      interface 接口名 { 属性1: 类型 属性2: 类型 方法名(): 返回值类型 } 
      let 对象名: 接口名 = { 属性1: 值1, 属性2: 值2, 方法名() { ... } }
      
          

      ​访问方式​​:

      对象名.属性名 对象名['属性名'] 对象名.方法名()
      
          

      五、函数

      5.1 普通函数

      function 函数名(参数: 类型): 返回值类型 { // 函数体 return 返回值 }

      5.2 箭头函数

      ​特点对比​​:

      特性

      普通函数

      箭头函数

      this指向

      动态绑定

      继承外层

      构造函数

      可以

      不可以

      arguments对象

      6.2 枚举类型

      enum 枚举名 { 成员1 = 值1, 成员2 = 值2 }

      ​特点​​:

    • 默认从0开始自动编号

    • 可手动指定值(数字或字符串)

    • 提高代码可读性

      七、综合示例

      7.1 用户管理系统

      // 定义接口
      interface User {
        id: number | string  // 联合类型
        name: string
        age: number
        isAdmin: boolean
      }
      
      // 定义枚举
      enum UserStatus {
        Active = 'ACTIVE',
        Inactive = 'INACTIVE',
        Banned = 'BANNED'
      }
      
      // 用户数组
      let users: User[] = [
        { id: 1, name: '张三', age: 25, isAdmin: false },
        { id: 'abc', name: '李四', age: 30, isAdmin: true }
      ]
      
      // 添加用户函数
      const addUser = (user: User): void => {
        users.push(user)
        console.log(`用户${user.name}添加成功`)
      }
      
      // 查找用户函数
      function findUser(id: number | string): User | undefined {
        return users.find(user => user.id === id)
      }
      
      // 使用示例
      addUser({ id: 3, name: '王五', age: 28, isAdmin: false })
      console.log(findUser('abc'))

      八、最佳实践

    • 1.

      ​变量声明​​:

      • 优先使用const,必要时用let

      • 避免使用var

    • 2.

      ​类型安全​​:

      • 始终明确指定类型

      • 善用联合类型增强灵活性

    • 3.

      ​函数设计​​:

      • 单一职责原则

      • 合理使用箭头函数

      • 明确参数和返回值类型

    • 4.

      ​数据结构选择​​:

      • 一组相同类型数据 → 数组

      • 键值对复杂数据 → 对象

      • 固定值集合 → 枚举

    • 5.

      ​调试技巧​​:

      • 分层使用console.log

      • 重要数据变更添加日志

    • 九、常见问题

    • 1.

      ​类型错误​​:

      • 现象:Type 'string' is not assignable to type 'number'

      • 解决:检查变量类型声明和赋值是否匹配

    • 2.

      ​未定义错误​​:

      • 现象:Cannot find name 'variableName'

      • 解决:检查变量作用域和声明位置

    • 3.

      ​枚举使用​​:

      • 注意:枚举成员不能动态添加

      • 建议:使用对象字面量替代需要动态扩展的枚举

    • 4.

      ​箭头函数陷阱​​:

      • 避免在需要动态this的场景使用箭头函数

      • 类方法定义优先使用普通函数

      • 2.班级链接:https://developer.huawei.com/consumer/cn/training/classDetail/13f68a5f423e497d8ced35beabe05b1e?type=1?ha_source=hmosclass&ha_sourceId=89000248

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐