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中的条件判断语句)

相关推荐
小陈phd1 分钟前
多模态大模型学习笔记(二)——机器学习十大经典算法:一张表看懂分类 / 回归 / 聚类 / 降维
学习·算法·机器学习
一只大侠的侠3 分钟前
Flutter开源鸿蒙跨平台训练营 Day 15React Native Formik 表单实战
flutter·开源·harmonyos
爱装代码的小瓶子13 分钟前
【C++与Linux基础】进程间通讯方式:匿名管道
android·c++·后端
空白诗19 分钟前
React Native 鸿蒙跨平台开发:react-native-svg 矢量图形 - 自定义图标与动画
react native·react.js·harmonyos
兴趣使然HX23 分钟前
Android绘帧流程解析
android
学编程的闹钟27 分钟前
95【给图片添加跳转链接】
学习
听麟34 分钟前
HarmonyOS 6.0+ PC端虚拟仿真训练系统开发实战:3D引擎集成与交互联动落地
笔记·深度学习·3d·华为·交互·harmonyos
EnglishJun1 小时前
Linux系统编程(二)---学习Linux系统函数
linux·运维·学习
im_AMBER1 小时前
Leetcode 115 分割链表 | 随机链表的复制
数据结构·学习·算法·leetcode
一只大侠的侠1 小时前
Flutter开源鸿蒙跨平台训练营 Day17Calendar 日历组件开发全解
flutter·开源·harmonyos