Android 学习 鸿蒙HarmonyOS 4.0 第三章(TS的常用基本类型)

写之前先简单提一句。鸿蒙4.0之后呢,主推开发语言:ArkTs,如果你是零基础小白,不建议直接学习鸿蒙os开发,可以先从ts:TypeScript来开始学习。

编程语言介绍:

ArkTs 是鸿蒙os 优选的主力应用开发语言,它在TypeScript(TS)的基础上,匹配ArkUI框架,扩展了声明式UI,状态管理等相应能力,让开发者以更简洁,更自然的方式开发跨端应用。要了解ArkTs,需要了解下ArkTs,TypeScript和JavaScript的关系:

JS:JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。

TS: TypeScript是JavaScript的一个超集,它扩展了JavaScript的语法,通过在JavaScript的基础上添加静态类型定义构建而成,是一个开源的编程语言。

**ArkTS:**兼容TypeScript语言,扩展了声明式UI,状态管理,并发任务等能力。在学习ArkTS声明式的相关语法之前,需要学习下TypeScript的基础语法。

TS:基础类型:

TypeScript 支持一些基础的数据类型,如布尔型,数组,字符串等。

布尔值: ts中可以使用boolean来表示这个变量是布尔值,可以赋值为true或者false。

javascript 复制代码
例如:let isOff = true

数字:ts中所有的数字都是浮点数,这些浮点数的类型是number,除了支持十进制,还支持

二进制,八进制,十六进制,如下我们用十进制,二进制,八进制和十六进制分别定

义了2023,当把数据通过日志的方式打印出来,结果都会转化为十进制,也就是2023

例如:

javascript 复制代码
let decLiteral: number = 2023;

let binaryLiteral:number = 0b11111100111;

let octalLiteral:number = 0o3747;

let hexLiteral:number = 0x7e7;

字符串

javascript 复制代码
   let aStr:string= 'hello'

数组容器类型

javascript 复制代码
 第一种:

                let arr1:number[] = [1,2,3,4,5]  根据下标获取元素:arr1[2] = 3

                第二种:

                let arr2 :Array<String> = ['abc','ert','6789','hjghj']

                arr2.push("hello")                //把hello添加到数组最后面

                arr2.pop()                        //删除数组中最后一个元素

                arr2.splice(2,0,"hello")        //在数组下标为2的地方 (参数0:插入)插入一个hello字符串

                arr2.splice(1,1)        //删除数组下标为1的元素(第二个参数1为删除)

元组:元组类型允许表示一个已知元素数量和类型的数组,个元素的类型不必相同,比如可以定义一对值分别为String 和 number 类型的元组。

javascript 复制代码
//定义一个元组
let t1:[string,number];
t1 = ['hello',100]  //ok
t1 = [100,'hello']  //error  因为定义的类型 第一个参数是string,第二个参数是number
t1 = ['hello',100,200] //error 因为只定义了两个类型的参数,只有两个参数

console.log(t1) //打印

//打印第一个元素
console.log(tl[0])

枚举:

enum类型是对javaScript标准数据类型的一个补充,使用枚举类型可以为一组数值赋予友好的名字,例如性别:

javascript 复制代码
//定义枚举
enum SexValue{

    MAIL = '男',
    FEMAIL = '女'
}



let gender: SexValue  = SexValue.MAIL
console.log(gender) //运行结果:男

Unknown:有时候会想为那些还不清楚类型的变量指定一个类型,这种情况我们不希

望编译器对这些值进行检查而是直接让它们通过编译阶段的检查,那么可

以用unknown类型来标记这些变量。

javascript 复制代码
//定义未知的类型 unknown

let noSure : unknown;
noSure = 4
noSure = "hello world"

void:函数没有返回值

javascript 复制代码
function:myFunc():void{
    
    return 100 //error 因为方法设置void 没有返回类型。
}

Null:空值,没有分配内存,undefined:有这个变量,但是没有定义。

javascript 复制代码
(没什么好说的这个,代码就跳过了)

联合类型:定义的变量,可以是字符串,也可以是数值

javascript 复制代码
let myF: string | number = 100
myf = "hello"

下一章:

Android 学习 鸿蒙HarmonyOS 4.0 第四章(TS中的条件判断语句)

相关推荐
MartinYeung511 分钟前
[论文学习]智能合约不变式防御网络犯罪
网络·学习·智能合约
xx~t14 分钟前
嵌入式学习——进程与线程2
linux·c语言·学习·进程与线程
我爱cope23 分钟前
【计算机网络 | 网络层10:OSPF 与 BGP:自治系统内部和互联网之间如何路由?】
网络·学习·计算机网络·智能路由器
白猫不黑26 分钟前
网络空间安全/信息安全专业学习规划(超级详细版)
运维·学习·安全·web安全·网络安全·信息安全
ii_best27 分钟前
移动开发工具按键精灵安卓版 OcrEx 识别总是漏字错字?改这一个参数,精度直接翻倍
android·ai编程·按键精灵
HyperAI超神经35 分钟前
MiniMax H3 突破视频生成边界,音画内容一体生成;Ornith-1.5-35B-A3B 探索推理模型自进化训练新模式
人工智能·深度学习·学习·音视频·多模态·视频生成·推理模型
小小帅呀1 小时前
学习 VLA 第6天:SWIN VIT算法原理以及复现
学习·算法
平原20181 小时前
AI岗位需求增长244%背后:从任务重组到可验证学习闭环
大数据·人工智能·学习
ouynagda1 小时前
Linux信号与进程间通信学习笔记
linux·笔记·学习