TypeScript基础数据类型

01.布尔类型boolean

//布尔类型  ---->boolean
//let 变量名:数据类型=值
let flag:boolean=true
flag=false
//flag=10 编译不通过
console.log(flag)

在这里插入图片描述

02.数字类型number

//数字类型  ---->number
let a1:number=10//十进制
//a1='哈哈' 编译不通过
let a2:number=0b1010//二进制
let a3:number=0o12//八进制
let a4:number=0xa//十六进制
console.log(a1*10)
console.log(a2)
console.log(a3)
console.log(a4)

在这里插入图片描述

03.字符串string

//字符串 ---->string
let str1:string='床前明月光'
//str1=10
let str2:string='疑是地上霜'
let str3:string='举头望明月'
let str4:string='低头望故乡'
console.log(`${str1},${str2},${str3},${str4}`)

在这里插入图片描述

//字符串和数字之间拼接输出
let str5:string='字符串'
let a5:number=10
console.log(`${str5},${a5}`)

在这里插入图片描述

05.总结

  • ts中变量一开始是什么类型,那么后期赋值的时候,只能用这个类型的数据,不允许使用其他类型的数据赋值给当前的这个变量

06.undefined和null

  • undefinednull都可以作为其他类型的子类型,把undefinednull赋值给其他类型的变量
//需要关闭严格模式,否则编译不通过
let und:undefined=undefined
let nul:null=null
console.log('undefined和null',und,nul)
let num:number=undefined
let number:number=null
console.log('子类型',num,number)

在这里插入图片描述

07.数组类型

//数组定义方式1  let 变量名:数据类型[]=[值1,值2,值3]
let arr1:number[]=[10,20,30,40,50]
console.log(arr1)
//数组定义方式2  let 变量名:Array<数据类型>=[值1,值2,值3]
let arr2:Array<number>=[100,200,300]
console.log(arr2)

在这里插入图片描述

  • 注意问题:数组定义后,里面的数据的类型必须和定义数组的时候是一致的,否则有错误提示信息,也不会编译通过的

08.元组类型

  • 在定义数组的时候,类型和数据的个数一开始就已经限定了
let arr3:[string,number,boolean]=['哈哈',100.12345,true]
console.log(arr3)

//可以调用对应类型的方法
//console.log(arr3[1].split(''))  编译不通过,因为number没有split方法
console.log(arr3[0].split(''))
console.log(arr3[1].toFixed(2))

在这里插入图片描述

  • 注意问题:元组类型在使用的时候,数据的类型的位置和数据的个数,应该和在定义元组的时候的数据类型及位置应该是一致的

09.枚举类型

  • 枚举里面的每个数据类型都可以叫元素,每个元素都有自己的编号,编号是从0开始,依次递增增加1
enum Color{
    red=1,
    green,
    blue
}
//定义一个Color的枚举类型的变量来接受枚举的值
let color:Color=Color.red
console.log(color)
console.log(Color.red,Color.green,Color.blue)
console.log(Color[3])

在这里插入图片描述

  • 枚举中的元素可以是中文的数据值,但是不推荐
enum Gender{,}
console.log(Gender.)

在这里插入图片描述

10.any类型

let str:any=100
str='嘿嘿'
console.log(str)

在这里插入图片描述

当一个数组中要存储多个数据,个数不确定,类型不确定,此时可以使用any类型来定义数组

let arr:any[]=[100,'哈哈',true]
console.log(arr)

在这里插入图片描述

//console.log(arr[0].split(''))  能编译通过,但是在浏览器中会报错
console.log(arr[1].split(''))

在这里插入图片描述

11.void类型

在函数声明的时候,在小括号后面使用:vold,代表该函数没有任何的返回值

function showMsg():void{
    console.log(new Date())
    //return '100'  编译不通过
    //return undefined  输出undefined
    return null  //输出null
}
showMsg()
console.log(showMsg())

在这里插入图片描述
定义一个void类型的变量,可以接受一个undefined的值,但是意义不大

let vd:void=undefined
console.log(vd)

在这里插入图片描述

12.object类型

//object
function getObj(obj:object):object{
    console.log(obj)
    return {
        name:'大明',
        age:18
    }
}
let obj:object={
    name:'小明',
    age:18
}
console.log(getObj(obj))

在这里插入图片描述
console.log(getObj('123')) 编译不通过
console.log(getObj(new String('123')))
在这里插入图片描述
console.log(getObj(String))
在这里插入图片描述

13.联合类型

表示取值可以为多种数据类型中的一种

//需求1:定义一个函数得到一个数据或者字符串值的字符串形式值
function getData(data:number|string):string{
    return data.toString()
}
console.log(getData(123))
console.log(getData('999'))

在这里插入图片描述

14.类型断言

  • 类型断言:手动指定数据类型
  • 类型断言语法1----> <类型>变量名
  • 类型断言语法2----> 值 as 类型
需求:定义一个一个函数得到一个数字或字符串值的长度
function getLength(data:number|string):number{
    if((<string>data).length){
        //return (<string>data).length
        return (data as string).length
    }else{
        return data.toString().length
    }
}
console.log(getLength(100))
console.log(getLength('1000'))

在这里插入图片描述

15.类型推断

在没有明确的指定类型的时候推测出一个类型

let txt1=100  //number类型
//txt1='100'  编译不通过
console.log(txt1)


let txt2;    //any类型
txt2=1000
txt2=false
console.log(txt2)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值