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

devtools/2024/9/20 3:55:38/ 标签: android, 学习, harmonyos
写之前先简单提一句。鸿蒙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/devtools/23555.html

相关文章

机器学习之增强学习DQN(Deep Q Network)

增强学习(Reinforcement Learning, RL)中的Deep Q Network (DQN)是一种用于学习动作选择的深度学习模型。它是基于Q-learning算法的一种扩展,通过使用深度神经网络来估计Q值函数,从而实现对复杂环境中动作的学习和决策。 下面是一般情况下实现DQN的一些步骤: 定义状态空间和…

ChatGPT API - 笔记

1 新手如何用Python玩转ChatGPT API,详细讲解 新手如何用Python玩转ChatGPT API,详细讲解-Django社区,Django中文网,django教程,Django! import time import requestsOPENAI_API_KEY = "****" proxy = "127.0.0.1:7890" # 你需要添加你的代理,懂得都…

前端更优雅的使用 jsonp

前端更优雅的使用 jsonp 背景&#xff1a;最近项目中又使用到了 jsonp 这一项跨域的技术&#xff0c;&#xff08;主要还是受同源策略影响&#xff09;&#xff0c;下面有为大家提供封装好的函数及对应使用示例&#xff0c;欢迎大家阅读理解 文章目录 前端更优雅的使用 jsonp同…

react useEffect中removeEventListener没生效问题解决

在useEffect中写入window.removeEventListener没有生效&#xff0c;代码如下 useEffect(() > {const handleResize () > {console.log(window.innerWidth, window.innerHeight);};window.addEventListener(resize, handleResize);return () > {window.removeEventLi…

HarmonyOS编程实践系列:第一节 - 创建健康App欢迎页

系列文章目录 &#xff08;零&#xff09;鸿蒙HarmonyOS入门&#xff1a;如何配置环境&#xff0c;输出“Hello World“ &#xff08;一&#xff09;鸿蒙HarmonyOS开发基础 &#xff08;二&#xff09;鸿蒙HarmonyOS主力开发语言ArkTS-基本语法 &#xff08;三&#xff09;鸿蒙…

高级数据结构与算法期中测试题

一、判断题 1、In dynamic programming algorithms, some results of subproblems have to be stored even they do not compose the optimal solution of a larger problem. T F 解析:T。在动态规划算法中,必须存储子问题的某些结果,因为他们可能需要用来…

HTML学习笔记(二)

1.HTML图像 图像标签&#xff08;<img>)和源属性&#xff08;src&#xff09; HTML中&#xff0c;图像由<img>标签来定义&#xff0c;<img>是空标签&#xff0c;只包含属性&#xff0c;没有闭合标签。在页面上显示图像需要使用源属性&#xff08;src),src是指…

LeetCode_(兜兜转转还是你)浪漫的环形链表问题

✨✨所属专栏&#xff1a;LeetCode刷题专栏✨✨ ✨✨作者主页&#xff1a;嶔某✨✨ 第一题&#xff1a; 这道题的代码很简单&#xff0c;但是后续的一些问题在思考的过程是很复杂的。下面我们就一起来分析一下吧&#xff01; 链表带环的意思就是说链表的某个节点的next指针指向…

SparkSQL---简介及RDD V.S DataFrame V.S Dataset编程模型详解

一、SparkSQL简介 SparkSQL&#xff0c;就是Spark生态体系中的构建在SparkCore基础之上的一个基于SQL的计算模块。SparkSQL的前身不叫SparkSQL&#xff0c;而叫Shark&#xff0c;最开始的时候底层代码优化&#xff0c;sql的解析、执行引擎等等完全基于Hive&#xff0c;总之Sha…

7-云原生监控体系-PromQL-函数功能和示例

Prometheus支持几个函数来操作数据。 文章目录 1. 函数语法解释2. count(v instant-vector)3. topk(n, v instant-vector)4. bottomk(n, v instant-vector)5. increase(v range-vector)6. rate(v range-vector)7. rate 和 increase8. irate(v range-vector)9. predict_linear(…

Qt开发 , new一个QDialog窗口,点击关闭按钮,内部定义QTimer指针未释放 同时 析构函数也未调用问题

在Qt中&#xff0c;当创建一个QDialog的实例并显示它时&#xff0c;按下关闭按钮&#xff08;或点击窗口右上角的“X”按钮&#xff09;会触发窗口的关闭事件&#xff0c;但并不会立即调用其析构函数。这是因为Qt的窗口部件管理内存的方式是基于引用计数的&#xff0c;并且QDia…

[typescript] 引入js说找不到模块或其相应的类型声明

声明自己的js模块就行 你不想全部引入?那就声明引入

「51媒体」2024年北京有哪些媒体邀约资源

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 北京的媒体邀约资源非常丰富&#xff0c;涵盖了多种类型的平台&#xff0c;包括但不限于&#xff1a; 广播电视台&#xff1a;总台&#xff0c;北京地方电视台&#xff0c;教育电视台&am…

状态模式

文章目录 1.UML类图2.状态基类3.状态实现类3.状态机管理类使用示例 1.UML类图 2.状态基类 public abstract class State {public string? Name { get; set; }public StateMachine? StateMachine {get; set;}public abstract void Exit();public abstract void Enter(); }3.…

Idea实现远程debug调试

创建demo package com.merchen.hello_world.controller;import org.springframework.web.bind.annotation.*;RestController RequestMapping("/res") public class ResController {GetMapping("/test/{value}")public String testController(PathVariable…

自动驾驶横向控制算法

本文内容来源是B站——忠厚老实的老王&#xff0c;侵删。 三个坐标系和一些有关的物理量 使用 frenet坐标系可以实现将车辆纵向控制和横向控制解耦&#xff0c;将其分开控制。使用右手系来进行学习。 一些有关物理量的基本概念&#xff1a; 运动学方程 建立微分方程 主要是弄…

力扣HOT100 - 207. 课程表

解题思路&#xff1a; class Solution {public boolean canFinish(int numCourses, int[][] prerequisites) {int[] inDegree new int[numCourses];//存每个结点的入度List<List<Integer>> res new ArrayList<>();//存结点之间依赖关系Queue<Integer>…

Pulsar【部署 02】Pulsar可视化工具Manager安装使用

Pulsar Manager 是一个基于 web 的 GUI 管理和监视工具&#xff0c;可帮助管理员和用户管理和监视租户、命名空间、主题、订阅、代理、集群等&#xff0c;并支持对多个环境进行动态配置。 可视化工具Manager安装使用 1.Docker1.1 拉取镜像并启动1.2 设置用户名密码1.3 登录并添…

CSS Position定位(详解网页中的定位属性)

目录 一、Position介绍 1.概念 2.特点 3.作用 4.应用 二、Position用法 1.position属性 2.static定位 3.fixed定位 4.relative定位 5.absolute定位 6.sticky定位 7.重叠的元素 三、CSS定位属性 四、总结 一、Position介绍 1.概念 文档流&#xff08;Document Fl…

java实现模板填充word,word转pdf,pdf转图片

Java实现Word转PDF及PDF转图片 在日常开发中&#xff0c;我们经常需要将文件操作&#xff0c;比如&#xff1a; 根据模板填充wordword文档中插入图片Word文档转换为PDF格式将PDF文件转换为图片。 这些转换可以帮助我们在不同的场景下展示或处理文档内容。下面&#xff0c;我将…