美文网首页JavaScript技术
typescript数据类型

typescript数据类型

作者: DeadMoon | 来源:发表于2021-12-28 14:45 被阅读0次

    基础数据类型

    • 字符串类型
    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

    相关文章

      网友评论

        本文标题:typescript数据类型

        本文链接:https://www.haomeiwen.com/subject/utspqrtx.html