TypeScript基础语法——基础类型

基础类型

  • 和js基本相同,还添加了枚举类型。
  • 声明方法:变量名:数据类型=值

布尔值 boolean

  let flag: boolean = true
  console.log(flag)

数字 number

可以用十进制,二进制(0b开头),八进制(0o开头),十六进制(0x开头表示)输出的都是十进制的数据。

let a1: number = 10//十进制
  let a2: number = 0b1010//二进制
  let a3: number = 0o12//八进制
  let a4: number = 0xa//十六进制
  console.log(a1)
  console.log(a2)
  console.log(a3)
  console.log(a4)


字符串 string

  //字符串类型:string
  let str1: string = '床前明月光'
  let str2: string = '疑是地上霜'
  console.log(`${str1},${str2}`)
  
    //字符串和数字之间的拼接
  let str3: string = '我有这么多的钱:'
  let num: number = 1000000
  console.log(str3 + num)

undefined&null

undefined和null都可以作为其它类型的子类型。他们可以赋值给其他类型的变量。

  let und: undefined = undefined
  let nll: null = null
  console.log(und)
  console.log(nll)

数组 Array

  • 声明方式1:let 变量名:数据类型[]=[v1,v2,v3]
  • 声明方式2:泛型方式。let 变量名:Array<数据类型>=[]
  • 数组定义后,里面的数据类型不同不能被编译通过
  let arr1: number[] = [10, 20, 30, 40]
  let arr2: Array<number> = [100, 200, 300]
  console.log(arr1)
  console.log(arr2)

元组

  • 定义数组的时候里面的数据类型和个数在一开始就限定了。
  let arr3: [string, number, boolean] = ['小甜甜', 100, true]
  console.log(arr3)
  console.log(arr3[1])//100

any

  • 放一个变量是any类型,可以传入任何类型的值
  let str: any = 100
  str='年少不知富婆好,错把少女当成宝'
  console.log(str)
  • 当一个数组中要存储多个数据,个数不确定,类型不确定,此时可以使用any类型来定义数组
  let arr: any[] = [123, '年少不知软饭香', '错把青春倒插秧']
  console.log(arr)
  console.log(arr[1].split(''))
  //这种情况下也没有错误的提示信息,但是在浏览器中会报错
  //console.log(arr[0].split(''))

void

  • void类型,在函数声明之后的:加void表示没有任何返回值.
function showMsg(): void {
    console.log('只要富婆把握住,连夜搬进大别墅')
  }
  console.log(showMsg())
//return undefined类型
  • 定义一个void类型的值可以接受undefined的值。意义不大。
  let vd: void = undefined
  console.log(vd)

对象类型 object

  • 定义一个函数,参数是obj,返回值也是obj
function getObj(obj: object): object{
    console.log(obj)
    return {
      name: 'kkx',
      age:27
    }
  }
  console.log(getObj({ name: "dxy", age: "female" }))
  //{name: "dxy", age: "female"}
  //{name: "kkx", age: 27}

联合类型 Union Types

  • 表示取值可以为多种类型中的一种
  • 需求1: 定义一个函数得到一个数字或字符串值的字符串形式值
  function getString(str:number|string):string {
    return str.toString()
  }
  console.log(123)
  console.log('123')
  • 需求2: 定义一个一个函数得到一个数字或字符串值的长度
function getLength(str: number | string):number {
    //return str.toString().length
    //如果str本身是string类型,那么就没必要调用tostring方法
    //类型断言:告诉编译器,我知道自己在做什么
    //方式1:(<type>value)
    //方式2:value as type
    if ((<string>str).length) {
      //str是string类型
      return (str as string).length
    } else {
      return str.toString().length
    }
  }
  console.log(getLength('0123456'))
  console.log(getLength(123))

类型断言

  • 方式1:(value)
  • 方式2:value as type

类型推断

在变量没有明确指定的时候根据赋值推测出一个类型,如:

  let txt = 100
  console.log(txt)//编译器推断txt为number类型

any类型:声明时不赋值

  let txt2;
  txt2 = 123
  txt2='abc'
  console.log(txt2)//abc
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值