• typescript 基础数据类型


    1.字符串

    let dogName:string ="旺财"
    let dogAge:number = 5
    
    let introDog:string = `我有一只狗,它叫${dogName},它今年${dogAge}。`
    
    console.log(introDog);
    

    2.数字

    // 进制依次为 10  16  8  2
    let num1:number = 16
    let num2:number = 0x10
    let num3:number = 0o20
    let num4:number = 0b10000
    
    console.log(num1,num2,num3,num4);
    

    3.布尔

    let flag:boolean = true
    
    

    4.数组

    let arr:number[] = [1,2,3] //数字数组
    
    let str:string[] = ['a','b','c'] //字符串数组
    
    let boolArr:Array<boolean> = [true,false]
    
    console.log(arr,str,boolArr)
    

    5.元祖 数组的升级版本 已知类型和数量

    let tuple:[string,number,boolean,string]=['aa',1,true,'kk']
    
    //使用tuple[index]. 可以直接点出来方法 ts会有相应类型方法的提示
    //eg
    console.log(tuple[0].length)
    

    6.枚举 用于定义固定的取值的

    //默认从0开始
    
    // enum Sex {
    //     Man,
    //     Women
    // }
    // let sex1:Sex = Sex.Man
    // let sex2:Sex = Sex.Women
    // console.log(sex1,sex2)
    
    //可手动赋值
    enum Sex {
        Man=1,
        Women='heson'
    }
    let sex1:Sex = Sex.Man
    let sex2:Sex = Sex.Women
    console.log(sex1,sex2)
    
    //由枚举的值获取枚举的名字
    let sexName:string=Sex[1]
    console.log(sexName)
    
    

    7.any 当不确定类型的时候可标识any

    let myName:any = 'jjj'
    let array:any[] = [1,'aa',true,'heson']
    

    8.void void类型与any类型相反 它表示没有任何类型

    //当一个函数没有返回值时,通常会设置返回值类型为void
    //如果声明一个void对象只能为它赋值null和undefined
    function logMsg():void{
        console.log('ainihaizhen')
    }
    logMsg()
    
    

    9.null和undefined

    let str1:null = null
    let str2:undefined = undefined
    

    10.never 必须存在无法到达的终点 抛出异常的函数箭头函数的表达式的返回值类型

    //是所有类型的子类型,也可以赋值给任何类型
    //never没有子类型,任何类型都不可以给never类型赋值
    
    //应用场景1,抛出异常函数
    // function error(msg:string):never{
    //     throw new Error(msg)
    // }
    // error('发生未知错误')
    
    //应用场景2 永真永假
    function error2():never {
        while(true){
            console.log(1)
        }
    }
    

    11.object 表示非原始类型

    let obj1:object = {name:'heson',age:'18'}
    
    declare function fun1(o:object):void
    
    fun1({name:'heson'}) //ok
    fun1([1,2,3]) //ok
    fun1(null) //ok
    fun1(undefined) //ok
    // fun1(123) //false
    // fun1('heosn') //false
    // fun1(true) //false
    

    12.类型断言

    //开发中会遇到,你知道某个实体最终返回的是什么类型,我们可以通过类型断言这种方式告诉编译器
    //类型断言好比其他语言里的类型转换,但是不进行特殊的数据检查和解构
    //没有运行时的影响,只在编译阶段起作用
    //断言的形式  1.尖括号语法 2.as语法 3.注意
    let obj2:any = 'hello' 
    //无提示
    let str3:string = obj2.substr(0,3)
    console.log(str3)
    //有提示 方式一
    let str4:string = (<string>obj2).substr(0,3)
    
    //方式二
    let str5:string = (obj2 as string).substr(0,3)
    
    console.log(str3,str4,str5)
    
    

    运行之后的结果为

    
    我有一只狗,它叫旺财,它今年5。
    16 16 16 16
    [ 1, 2, 3 ] [ 'a', 'b', 'c' ] [ true, false ]
    2
    1 'heson'
    Man
    ainihaizhen
    hel
    hel hel hel
    
    
  • 相关阅读:
    cmd 进入不同的驱动盘及上下级目录
    子网/ip/子网掩码
    虚拟化技术与"云"
    OSI 7层模型
    第一天的CI笔记
    在本地Apache服务器配置虚拟主机站点
    phpmailer 发送邮件
    mysql 中执行的 sql 注意字段之间的反向引号和单引号
    手动部署LNMT(Nginx+Tomcat)并实现Nginx反向代理Tomcat
    JS 创建元素的三种方法
  • 原文地址:https://www.cnblogs.com/heson/p/11648079.html
Copyright © 2020-2023  润新知