ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

TypeScript数据类型 -- tuple、enum、any、never、union、literal...

2022-02-25 04:31:07  阅读:183  来源: 互联网

标签:... TypeScript console log 数据类型 类型 let msg string


声明变量的关键字

  • let

  • const

  • var(官方不推荐再继续使用)



TypeScript 的类型

基础类型

  • number string boolean array null undefined object

  • tuple enum void never any

高级类型(部分)

  • union 组合类型 Nullable 可空类型 Literal 预定义类型



数字、布尔、字符串

  • number:表示 整数、浮点数、正负数

  • boolean:真 或者 假

  • string:""''``

    • 反引号:``,可以创建一个字符串模板



数组(Array)、元组(Tupple)

  • array:[] 存放任意类型的数据

    • let list1: number[] = [1, 2, 3]

    • let list2: Array<number> = [1, 2, 3]

    • let list3 = [1, 'abc']

  • tupple:固定长度、固定类型的特殊数组

    • let person : [number, string] = [1, 'abc']



联合(Union)、字面量(Literal)

  • union:支持多个类型的赋值

    • let union1: string | number
  • literal:支持指定值的赋值

    • let literal1: 1 | '2' | true | [1, '2', false]



枚举(Enum)

  • 默认从0开始,可以指定值

    enum Color{
      red,
      green = 3 ,
      blue = '蓝色'
    }
    
    let color1 = Color.blue
    console.log(color1)         // 蓝色
    console.log(Color.red)      // 0
    console.log(Color.green)    //3
    



Any、Unknown

  • any:动态支持任意类型

  • unknown:未知类型,比any的限制性大一点

    let randomValue:unknown
    
    if (typeof randomValue === 'function'){
      randomValue()
    }
    
    if (typeof randomValue === 'string'){
      randomValue.toUpperCase()
    }
    



函数返回值:void、undefined、never

  • void:没有声明的变量

    function onlyPrint1():void{
      console.log('---')
    }
    
  • undefined:申明的变量没有赋值

    function onlyPrint2():undefined{
      console.log('===')
      return
    }
    
  • nerver:执行不到终点

    • function throwErr(msg:string, code: number):never{
        throw{ msg, code }
        console.log('执行不到这里')
      }
      
    • function whileLoop():never{
        while(true){
          console.log('>>>')
        }
      }
      



类型适配 Type Assertions

  • 使用 Type Assertions 必须对自己的代码有 百分百 的把握才使用,不然运行时可能会出现类型错误

  • let msg:any
    msg ='strData'
    
    // 此时为 any类型 编辑器不会自动补全、联想出对应类型的方法
    console.log(msg.replace('t', 'o'))
    
    // 方法一:(<类型>变量名)
    console.log((<string>msg).toUpperCase())
    
    // 方法二:(变量名 as 类型)
    console.log((msg as string).split('a'))
    



函数的参数类型

  • 给函数的参数指定类型

    • let log1 = (msg:string) => console.log(msg)
      
  • ? 可使参数不用必须传递 默认值为 undefined

    • let log2 = (msg:string, code?:number) => console.log(msg,code)
      
  • 设置参数默认值

    • let log3 = (msg:string, code:number=2) => console.log(msg,code)
      

标签:...,TypeScript,console,log,数据类型,类型,let,msg,string
来源: https://www.cnblogs.com/jiyu-hlzy/p/15929958.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有