typescript数据类型

基础数据类型

  • 字符串类型
let str: string = 'string'
  • 数字类型
 let num: number = 1
  • 布尔类型
let isTrue: boolean = true
  • symbol类型
const sys: symbol = Symbol('')

复杂数据类型

  • 数组
// 声明方式
const arr:number[] = [1, 2, 4]
// 泛型
const arr: Array<number> = [1, 2, 4]
  • 元组
const state: [number, string] = [1, 'string']
  • object
// 尽量不要用 object 去定义一个类型, 因为在 ts 中, 对象, 函数, 数组, 正则都是 object 类型
const obj: object = {}
obj = () => {} // 不会报错
obj = new RegExp("") // 不会报错

特殊数据类型

  • 三个无用类型
    • undefined, null, void
      // strict 为 true 的情况下,声明 undefined和 null 类型只能将他们赋值给自身
      let isUndefined: undefined = undefined
      let isNull: null = null
      // 如果一定要使用的初始值为空的话, 可以使用联合类型
      let str: string | null
      str = '1'
      // void 一般 用来表示一个没有返回值的函数返回类型
      function log(msg: string):void {}
    
  • 两个神秘类型
    • any
    // any 官方提供的一个可绕过静态类型检查的作弊方式, js项目迁移到 ts 项目时,针对不确定的类型,
    // 我们即可 使用 any 来定义类型, 需要注意的是, 定义为 any 类型后, 变量将失去类型检查的能力,
    // 所以不在万不得以的情 况下我们最好不要用 any
      function log(msg: any) {
         return {} + msg
      } // 不报错
    
    • unknown
      TypeScript 3.0中引入的 unknown 类型,但它更安全。与 any 一样,所有类型都可以分配给unknown。
      不同的是   unknown 类型的变量只能赋值给 any 和 unknown
      let isUnknown: unknown = 1
      let isNumber: number = isUnknown // 不能将类型“unknown”分配给类型“number”。ts(2322)
      let isAny: any = isUnknown // ok
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容