【小白学鸿蒙-学习笔记】关于鸿蒙的一点吐槽与近期学习的体会

前言

学习HarmonyOS也有一段时间了,发现了一些问题,也有一些体会,写在这里, 也是对自己近期的一个学习体会的总结。因为我之前是学Java的,没有安卓的相关开发经验,只有玩过一段时间的微信小程序,所以以下内容,如有错误,敬请指正。

吐槽

  1. 学习HarmonyOS最大的一个问题就是目前手头上没有合适的华为手机,借了一个Nova5Pro,结果当时不能升级到3.0系统,后面升级到了3.0系统之后,API版本还是6,导致一直都没有真机做测试,使用模拟器和预览器也勉强够用,不过学习过程中也有遇到一些Bug,后面再说

  2. 第二个问题就是HarmonyOS的版本跟API的版本,个人感觉有点混乱,因为你手上拿着一个设备,你是完全不知道它支持的API版本是多少,此处强烈建议华为的人想办法解决一下这个问题,有一个最简单的方式就是直接把API版本写在手机的开发者模式,这样进去就知道当前手机的API版本,这样不是比较简单吗?

  3. 感觉官方文档对于初学者来说并不是很友好,学习路线并不线性,官方文档表示,后期鸿蒙开发的主力肯定是ArkaTS+Storg模型,所以我选择直接先从API8入手,学习ArkTS,但是发现,对于ArkTS的学习,我个人之前只学过JS,对于TS的语法很多时候看到的时候一脸懵逼,但是官方文档对于这块内容好像默认你都会似的,也没写,只能自己去查,去摸索,增加了我的学习成本。

  4. CodeLabs的形式非常好,有用的内容也不少,但是一开始,我随便打开一个CodeLabs也是一脸懵逼的,为什么这么多文件,为什么这么多引用,对于初学者而言,不是应该简单点好理解一些比较好吗,但是CodeLabs目前的形式,个人感觉有点吓到我,并且对于CodeLabs的引导,给我一种,“我们来学习,这是1,这是2,这是3,1+1=2,1+2=3,你学会了吗?好了现在我们来造航母吧!”我个人感觉非常难受。不知道其他人会不会跟我有同样感觉。

吐槽就先吐槽到这里,接下来对目前学习的一个内容进行一个总结。

知识总结

对于这块内容,我是站在一个新手的角度得出的内容,如有不对的内容,请指正

入门:

基础:

了解:

熟悉:

重要

TS通用语法

类型

变量声明

name:type =  value
复制

联合类型

  • 打个比方说image的src属性,传进去的参数可以是字符串也可以传一个资源路径,为什么可以这样呢?点进去看一下,他是这么写的:
src: string | PixelMap | Resource
复制
  • 在类型定义的时候,是用了"|",意思是可以是这个类型,也可以是另一个类型

数组类型

  • 最基础的很简单:
let numberArray: number[] = [1, 2, 3] // var numberArray = [1, 2, 3];
let numberArray1: Array<number> = [4, 5, 6] // var numberArray1 = [4, 5, 6];
复制
  • 联合类型也可以用数组:
let arr: (string | number)[] = [1, 'a']
复制
  • 复杂对象也可以用数组:
let arr: {name: string, age: number}[] = [
  {name: 'Jane', age: 17},
  {name: 'Jian', age: 20}
]
复制

元组

  • 元组算是一个新东西,Python也有用到,本质上就是一个确定数量和类型的数组

  • 类型和位置需要一一对应

let data: [number, string, boolean] = [2, '3', true] // var data = [2, '3', true];
复制

枚举

  • 这个也是使用enum枚举关键字,可以为枚举项赋值,不赋值默认从0开始,赋值后,这个值就是该枚举中枚举项的下标
enum Direction {
    Up = 1, // 不赋值默认从0开始
    Down,
    Left,
    Right
}

console.log(Direction.Down) // 2
console.log(Direction[1]) // Up
复制

类型断言

  • 逻辑类似于Java的类型强转,有两种实现方式
str as string

<string>str   //这两种方式都是将变量str,强制变成string类型
复制

类型别名

  • 使用type关键字可以给某一个Object对象起一个临时性的别名
type Lady = {name: string, age: number} // 对象类型可以使用类型别名
let arr: Lady[] = [
  {name: 'Jan
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值