typeScript基础类型

基础类型

ts 支持 js的数据类型 和 实用的枚举类型

类型注解 只能赋值限制的类型的值

布尔值 boolean
(() => { 
  let flag: boolean = true
  console.log(flag) //true
})()
数字 number
(() => { 
  let num1: number = 10 //十进制
  let num2: number = 0b1010 //二进制
  let num3: number = 0o12 //四进制
  let num4: number = 0xe //八进制
  console.log(num1,num2,num3,num4) // 10 10 10 10
})()
字符串 string
(() => { 
  let str: string = '字符串' 
  console.log(str) // 字符串
})()
undefined 和 null

这两个值有自己的类型 undefined 和 null 这两个值 可以作为所有类型的子类型使用

(() => {
  let und: undefined = undefined
  let nul: null = null
  console.log(und, nul) //undefined null
  // undefined 和 null  这两个值 可以作为所有类型的子类型使用
  let num:number = 123
  num = null
  console.log(num) // null
})()
数组
// 数组定义后,里面的类型必须和数组定义时的类型是一致的
(() => {
  let Arr: number[] = [1, 2, 3, 4, 5]
  let Arr1: Array<number> = [1, 2, 3, 4, 5]
  console.log(Arr,Arr1) //[1, 2, 3, 4, 5] [1, 2, 3, 4, 5]
})()
元组
(() => {
  // 元组类型在定义元组时数据类型和长度已经确定了
  let Arr: [string, number, boolean] = ['苹果', 1, false]
  console.log(Arr) //['苹果', 1, false]
})()
枚举类型 enum

对js标准数据类型的补充 将常用的数据设置成枚举类型调用

(() => {
  // 枚举里面每个值叫做元素每一个元素都有自己的编号 从0开始依次递增
  // 可以手动指定成员的编号
  // 可以通过编号选取枚举中的值
  // 可以是文的值 不推荐使用
  enum Color { 
    red = 9,
    blue,
    green,
    中文
  }

  let color: Color = Color.red
  let color1: Color = Color.blue
  console.log(color,color1,Color[10]) // 9 10 'blue'
})()
any

不确定当前类型为什么时 使用any类型 支持任意类型的数据

(() => {
  let any: any = "任意类型"
  // 使用any可以用于定义未知 数组长度 未知值类型 的数组
  let anyArr: any[] = [23,'1',false]
  console.log(any,anyArr)
})()
void

void类型与any类型相反,表示没有任意类型,当一个方法没有返回值的时候通常使用void类型

(() => {
  function showMsg(): void {
    console.log('void类型')
    return
  }
  console.log(showMsg()) // void类型 undefined
})()
object
(() => {
  // 定义一个函数是,参数是object类型,返回值是object类型
  function backObj(obj: object): object {
    console.log(obj)
    return {
      name: '东北吴彦祖',
      gender: '男',
      age: 25
    }
  }
  let obj = { name: '吴彦祖' }
  // 函数对象
  let obj1 = function () {
    console.log(123123)
  }
  // 通过构造函数返回的对象
  let obj2 = new Date()
  console.log(backObj(obj))
  console.log(backObj(obj1))
  console.log(backObj(obj2))
})()
联合类型

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

(() => {
  function getString(str:number|string):string { 
    return str.toString()
  }
  getString(123)
  getString('123')
})()
类型断言

告诉编译是什么类型

(() => {
  // 类型断言类似其他语言中的类型转换,但不进行特殊的数据检查和解构。只在编译阶段起作用。
  // 类型断言有两种语法 <> 和 as
  function getString(str: number | string): string { 
    // 如果参数是字符串没有必要再调用一遍toString
    if ((str as string).length) { //建议使用as语法
      return (<string>str)
    } else { 
      return str.toString()
    }
  }
  console.log(getString(123)) 
  console.log(getString('12354')) 
})()
类型推测

ts在没有明确的指定类型的时候推测出一个类型
编译器自动 推测一个类型注解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绝知芳誉亘千乡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值