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

ops/2024/12/23 9:00:09/
写之前先简单提一句。鸿蒙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。

               

例如:let isOff = true

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

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

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

                    例如:                       

let decLiteral: number = 2023;let binaryLiteral:number = 0b11111100111;let octalLiteral:number = 0o3747;let hexLiteral:number = 0x7e7;

        字符串

             

   let aStr:string= ‘hello‘

        数组容器类型               

 第一种: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 类型的元组。

       

//定义一个元组
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标准数据类型的一个补充,使用枚举类型可以为一组数值赋予友好的名字,例如性别:

    

//定义枚举
enum SexValue{MAIL = '男',FEMAIL = '女'
}let gender: SexValue  = SexValue.MAIL
console.log(gender) //运行结果:男

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

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

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

//定义未知的类型 unknownlet noSure : unknown;
noSure = 4
noSure = "hello world"

void:函数没有返回值

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

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

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

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

let myF: string | number = 100
myf = "hello"

下一章:

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


http://www.ppmy.cn/ops/23242.html

相关文章

pytest参数化数据驱动(数据库/execl/yaml)

常见的数据驱动 数据结构&#xff1a; 列表、字典、json串 文件&#xff1a; txt、csv、excel 数据库&#xff1a; 数据库链接 数据库提取 参数化&#xff1a; pytest.mark.parametrize() pytest.fixture()…

Linux-程序替换

&#x1f30e;进程控制【下】 文章目录&#xff1a; 进程控制 execl接口介绍 多进程版本程序替换 其他exec接口 接口介绍       替换本地程序 总结 前言&#xff1a; 在Linux系统中&#xff0c;进程程序替换是一种重要的操作&#xff0c;通过进程程序替换&#xff0c;程…

axios项目中使用如何进行封装,api相关请求封装,POST、GET、HEAD、PUT、DELETE、TRACE、OPTIONS 等封装

这些是HTTP协议中的请求方法&#xff1a; POST&#xff08;提交数据&#xff09;&#xff1a;用于向指定资源提交要被处理的数据&#xff0c;常用于提交表单数据或通过API传送数据。GET&#xff08;获取数据&#xff09;&#xff1a;用于请求指定资源的信息&#xff0c;常用于获…

鸿蒙应用开发-初见:入门知识、应用模型

基础知识 Stage模型应用程序包结构 开发并打包完成后的App的程序包结构如图 开发者通过DevEco Studio把应用程序编译为一个或者多个.hap后缀的文件&#xff0c;即HAP一个应用中的.hap文件合在一起称为一个Bundle&#xff0c;bundleName是应用的唯一标识 需要特别说明的是&…

【ARMv9 DSU-120 系列 9 -- DSU-120 Debug block】

请阅读【Arm DynamIQ™ Shared Unit-120 专栏 】 请阅读【ARM Coresight SoC-400/SoC-600 专栏导读】 文章目录 ARM DSU-120 Debug BlockCluster debug componentsCache DebugDSU-120 Cache Debug 特性应用场景Terminology处理元素(PE)

React受控绑定

受控绑定 概念&#xff1a;使用React组件的状态&#xff08;useState&#xff09;控制表单的状态 简单理解为双向绑定 function App(){const [value, setValue] useState()return (<input type"text" value{value} onChange{e > setValue(e.target.value)}/&…

模块三:二分——LCR. 173.点名

文章目录 题目描述算法原理暴力查找二分查找 代码实现暴力查找二分&#xff1a;CJava 题目描述 题目链接&#xff1a;LCR. 173.点名 关于这道题中&#xff0c;时间复杂度为 O(N) 的解法有很多种&#xff0c;⽽且也是⽐较好想的&#xff0c;这⾥就不再赘述。本题只讲解⼀个最优…

MyBatis中默认的别名(简化 “XML映射文件中的类型引用“)

MyBatis中&#xff0c;"默认的别名" 是为了简化 "XML映射文件中的类型引用" 而设计的&#xff0c;这些别名是 MyBatis 自动为 Java 类型提供的简短名称&#xff0c;使得在配置和映射文件中&#xff0c;不需要使用完整的类名。MyBatis默认别名系统中&#x…