ArkTs变量类型、数据类型

可以参考官网学习路径学习HarmonyOS第一课|应用开发视频教程学习|HarmonyOS应用开发官网

一、变量

1、ArkTS语言

ArkTS是华为自研的开发语言。它在TypeScript(简称TS)的基础上,匹配ArkUI框架,扩展了声明式UI、状态管理等相应的能力,让开发者以更简洁、更自然的方式开发跨端应用。

所以基本是在ts基础上增加了声明式UI、状态管理、以及组件化等

关于js和ts基本语法学习参考地址

js:JavaScript 教程 | 菜鸟教程 (runoob.com)

ts:TypeScript 教程 | 菜鸟教程 (runoob.com)

2、变量名要求

  • 变量名称可以包含数字和字母。

  • 变量名不能以数字开头。

  • 除了下划线 _ 和美元 $ 符号外,不能包含其他特殊字符,包括空格。

  • 不能使用关键字和保留字(已经定义了特殊含义的单词)

  • 见名知意

变量使用和js、ts一样

//声明变量并复制
let name = 20

//声明变量并限制类型
let name2: string = "20"

//声明变量 未赋值 用的时候赋值
let age: number
age = 18

二、数据类型

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

数字

TypeScript里的所有数字都是浮点数,这些浮点数的类型是 number。除了支持十进制,还支持二进制、八进制、十六进制。

// 数值类型
let num1: number = 18 //十进制
let num2: number = 0b10011 //ob 二进制
let num3: number = 0o1234567 // 0o 八进制
let num4: number = 0x123abcdef //0x 十六进制

字符串

TypeScript里使用 string表示文本数据类型, 可以使用双引号( ")或单引号(')表示字符串或者反引号(`)。

反引号中可以配合${}解析变量

// 字符串类型
let str1: string = 'HarmonyOS4.0'
let str2: string = "ArkTS"
let str3: string = `我年${num1}岁了`   //tab上方飘号键盘...

字符串拼接可以直接使用 + 

 

布尔值

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

// 布尔类型 true false
let stateOn: boolean = true
let stateOff: boolean = false

联合类型

联合类型(Union Types)表示取值可以为多种类型中的一种。

如果当下还没想好用哪个类型...

let meiXiangHao: string | number |boolean
meiXiangHao = 'seven'
meiXiangHao = 7
meiXiangHao = true

数组

TypeScrip有两种方式可以定义数组。

第一种方式是使用数组泛型,Array<元素类型>。

// 数组
let course1: Array<string> = ['入门',"基础语法",`组件`]

第二种,可以在元素类型后面接上 [],表示由此类型元素组成的一个数组。

let course2: string[] = ['动画',"网络",`存储`]

 

枚举

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

enum Color {Red, Green, Blue};
let c: Color = Color.Green;

元组

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

let x: [string, number];
x = ['hello', 10]; // OK
x = [10, 'hello']; // Error

Unknown

有时候,我们会想要为那些在编程阶段还不清楚类型的变量指定一个类型。这种情况下,我们不希望类型检查器对这些值进行检查而是直接让它们通过编译阶段的检查。那么我们可以使用unknown类型来标记这些变量。(同any

let notSure: unknown = 4;
notSure = 'maybe a string instead';
notSure = false;

Void

当一个函数没有返回值时,你通常会见到其返回值类型是 void。

function test(): void {
   console.log('This is function is void');
}

Null 和 Undefined

TypeScript里,undefined和null两者各自有自己的类型分别叫做undefined和null。 

let u: undefined = undefined;
let n: null = null;

数据类型应用

let message:string = "hello word"
let msgArray:string[] = ['a','b']

@Entry
@Component
struct Index {
  @State message: string = 'Hello World'

  build() {
    Row() {
      Column() {
        //直接组件中可以使用定义好的变量
        Text(message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
      .onClick(()=>{
        console.log(msgArray[0])
      })
    }
    .height('100%')
  }
}

组件内部声明变量

声明是在ets中顶部声明的变量,直接在组件使用,还可以在组件内部直接声明变量


@Entry
@Component
struct Index {
  message: string = 'Hello World'

  build() {
    Row() {
      Column() {
        //使用this表示找当前组件内的变量 不用this表示在全局中查找
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
      .onClick(()=>{
        console.log(this.message.toUpperCase())
      })
    }
    .height('100%')
  }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/187687.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mac 修改 hosts 文件

打开 hosts 所在文件夹 command shift G 快捷键 输入&#xff1a;“/private/etc/hosts” 后回车 如下所示 进入 hosts 文件所在位置&#xff0c;找到 hosts 文件&#xff0c;双击打开 修改 hosts 文件 将所需要的配置信息追加到hosts 文件中&#xff0c;或者修改需要改…

mysql忘记密码,然后重置

数据库版本8.0.26 只针对以下情况 mysql忘记了密码&#xff0c;但是你navicat之前连接上了 解决方法&#xff1a; 第一步&#xff0c;选中mysql这个数据库&#xff0c;点击新建查询 第二步&#xff1a;重置密码 alter user rootlocalhost IDENTIFIED BY 你的密码; 然后就可…

ffmpeg下载与配置环境变量

FFmpeg 是一个强大的多媒体框架&#xff0c;可以让用户处理和操纵音频和视频文件。具有易于使用的界面&#xff0c;用户可以在 Windows、Mac 或 Linux Ubuntu 系统上下载 FFmpeg 并将其提取到文件夹中。然后&#xff0c;该软件可以加入 PATH 环境变量中就可以快捷的使用软件了.…

Android自动化测试中使用ADB进行网络状态管理

Android自动化测试中的网络状态切换是提高测试覆盖率、捕获潜在问题的关键步骤之一&#xff0c;本文将介绍 如何使用ADB检测和管理Android设备的网络状态。 自动化测试中的网络状态切换变得尤为重要。 同时&#xff0c;在这我准备了一份软件测试视频教程&#xff08;含接口、自…

maven 将Jar包安装到本地仓库

window系统&#xff1a; 注意事项&#xff1a;在windows中&#xff0c;使用mvn指令将jar安装到本地仓库时&#xff0c;一定要将相关资源使用“"”包裹上&#xff0c;不然会报下面的错&#xff1a; mvn install:install-file "-DfileD:\BaiduNetdiskDownload\qianzixi…

轻松植入分布式跟踪:Odigos 带你主导应用观测 | 开源日报 No.85

babysor/MockingBird Stars: 31.6k License: NOASSERTION 这个项目是一个实时语音克隆的开源项目&#xff0c;主要功能包括支持中文、使用 PyTorch 进行训练和推理、可以在 Windows 和 Linux 系统上运行以及提供 Web 服务器。该项目的核心优势和特点包括&#xff1a; 支持多种…

视频批量剪辑技巧:掌握视频嵌套合并,轻松成为视频剪辑高手

随着社交媒体的兴起&#xff0c;视频已成为人们分享和交流的重要方式。视频剪辑作为视频制作的关键环节&#xff0c;对于提升视频质量和吸引力至关重要。视频嵌套合并是一种高级视频剪辑技巧&#xff0c;它将两个或多个视频片段叠加在一起&#xff0c;创造出一种独特的效果。这…

XShell新建会话指南

XShell新建会话 我们先登录我们的xshell&#xff0c;连接我们的远程服务器 为了方便我们以后的使用&#xff0c;我们可以新建一个会话记住用户 新建好后&#xff0c;我们可以打开这个会话 我们选择记住用户名 然后继续输密码就可以了 之后我们每次打开xshell的时候&#xff0c…

数据丢失抢救神器之TOP10 Android 数据恢复榜单

在快节奏的数字时代&#xff0c;我们的生活越来越与智能手机交织在一起&#xff0c;使它们成为重要数据和珍贵记忆的存储库。由于意外删除、软件故障或硬件故障而丢失数据可能是一种痛苦的经历。值得庆幸的是&#xff0c;技术领域提供了 Android 数据恢复软件形式的解决方案。这…

02 RANSAC算法 及 Python 实现

文章目录 02 RANSAC算法 及 Python 实现2.1 简介2.2 算法流程2.3 RANSAC 算法实现直线拟合2.4 利用 RANSAC 算法减少 ORB 特征点误匹配 02 RANSAC算法 及 Python 实现 2.1 简介 RANSAC &#xff08;Random Sample Consensus&#xff0c;随机抽样一致&#xff09;算法的 基本假…

中职组网络安全-linux渗透测试-Server2203(环境+解析)

任务环境说明&#xff1a; 服务器场景&#xff1a;Server2203&#xff08;关闭链接&#xff09; 用户名&#xff1a;hacker 密码&#xff1a;123456 1.使用渗透机对服务器信息收集&#xff0c;并将服务器中SSH服务端口号作为flag提交&#xff1b; FLAG:2232 2. 使用渗透机对…

最全的软件测试教程(功能、工具、接口、自动化、性能)

一、软件测试功能测试 测试用例编写是软件测试的基本技能&#xff1b;也有很多人认为测试用例是软件测试的核心&#xff1b;软件测试中最重要的是设计和生成有效的测试用例&#xff1b;测试用例是测试工作的指导&#xff0c;是软件测试的必须遵守的准则。 在这我也准备了一份…

华为ensp:trunk链路

当我们使用trunk链路后&#xff0c;还要选择要放行的vlan那就是全部vlan&#xff08;all&#xff09;&#xff0c;但是all并不包括vlan1&#xff0c;所以我们的trunk链路中的all不对all进行放行 实现相同vlan之间的通信 先将他们加入对应的vlan lsw1 进入e0/0/3接口 interfa…

Linux-基本指令(1.0)

Linux是一个非常流行的操作的知识&#xff0c;并提供实例帮助读者更好地理解。让我们一起来学习吧&#xff01;系统&#xff0c;也是云计算、大数据、人工智能等领域的重要基础。学习Linux命令是Linux系统管理的基础&#xff0c;也是开发过程中必不可少的技能。本博客将介绍Lin…

2023年10月纸巾市场分析(京东天猫淘宝平台纸巾品类数据采集)

双十一大促期间&#xff0c;刚需品的纸巾是必囤商品之一。今年双十一&#xff0c;京东数据显示&#xff0c;10月23日至29日&#xff0c;清洁纸品成交额同比增长40%&#xff0c;由此也拉动了10月纸巾市场的销售。 鲸参谋数据显示&#xff0c;今年10月&#xff0c;京东平台纸巾市…

外汇天眼:香港监管机构对AMTD Global Markets Limited启动法律诉讼

香港证监会&#xff08;SFC&#xff09;已经启动了法律程序&#xff0c;要求首次审裁法院调查AMTD Global Markets Limited&#xff08;AMTD&#xff0c;目前以orientiert XYZ Securities Limited为名&#xff09;及其前高管在与首次公开发行&#xff08;IPO&#xff09;相关的…

CUDA编程二、C++和cuda混合编程的一些基础知识点

目录 一、C运行过程 1、C编译过程 2、代码运行示例 单文件 多文件 a、编译所有cpp文件&#xff0c;但是不链接 b、链接所有的.o文件 c、运行程序 CMake编译 代码 使用方法 编译过程 代码运行 二、C和cuda混合编程 cuda 单文件 cuda和C多文件 手动分步编译 C…

Java网络爬虫实战

List item 文章目录 ⭐️写在前面的话⭐️&#x1f4cc;What is it?分类网络爬虫按照系统结构和实现技术&#xff0c;大致可以分为以下几种类型&#xff1a;通用网络爬虫&#xff08;General Purpose Web Crawler&#xff09;、聚焦网络爬虫&#xff08;Focused Web Crawler&a…

邮政快递查询,邮政快递单号查询,用表格导出查询好的物流信息

批量查询邮政快递单号的物流信息&#xff0c;以表格的形式导出查询好的物流信息。 所需工具&#xff1a; 一个【快递批量查询高手】软件 邮政快递单号若干 操作步骤&#xff1a; 步骤1&#xff1a;运行【快递批量查询高手】软件&#xff0c;并登录 步骤2&#xff1a;点击主界…