04-ArkTS语言_基础语法之变量声明+数据类型

基础语法之变量声明+数据类型

  • js:JavaScript
  • ts:TypeScript
  • ets: extend TypeScript

在这里插入图片描述

变量名要求:

  • 变量名称可以包含数字和字母。
  • 变量名不能以数字开头。
  • 除了下划线 _ 和美元 $ 符号外,不能包含其他特殊字符,包括空格。
  • 不能使用关键字和保留字(已经定义了特殊含义的单词)
  • 见名知意

🍞 变量可以先声明后赋值,也可以声明的时候直接赋值(初始化)

数据类型

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

数组 Array

TypeScrip有两种方式可以定义数组。
数组是有索引值的,索引值从0开始。
第一种方式是使用数组泛型,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里,undefinednull两者各自有自己的类型分别叫做undefinednull

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

数据类型应用

// 数值类型
let num1: number = 3.1415
let num2: number = 0b10100
let num3: number = 0o107
let num4: number = 0x012abcf
let num5: number = 10+ 5

// 字符串
let str1:string = 'HarmonyOS' + "ArkTS"
let str2:string = "HarmonyOS"
let str3:string = `圆周率:${num1}`

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

// 数组 Array 索引值0
let names1:string[] = ['小明','李华']
let names2:Array<string> = ['小明','李华']

// 枚举类型
enum myColor{
  Red = 'red',
  Green ='green'
}
@Entry
@Component
struct DataType {
  // 在组件内部声明,不要+ let
  pome:string = '劝君莫惜金缕衣 劝君惜取少年时'
  build() {
    Row() {
      Column() {
        Text(names1[1])
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .fontColor(myColor.Red)
        Divider()
        if (stateOff){
          Text(num1.toString())
            .fontSize(50)
            .fontWeight(FontWeight.Bold)
        }else{
          Text(num2.toString())
            .fontSize(50)
            .fontWeight(FontWeight.Bold)
        }
        Divider()
        Text(this.pome)
      }
      .width('100%')
    }
    .height('100%')
  }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值