TypeScript

1.TypeScript安装和编译

  • 安装npm install -g typescript
  • 编译tsc xxx.ts将ts文件编译成js文件
  • Typescript开发工具VScode自动编译ts文件
    • 执行tsc --init生成tsconfig.json文件
    • 在tsconfig.json中的outDir设置输出到哪如'./js'
    • 点击菜单栏中终端 -> 运行任务,选择监视 tsconfig.json
    • 再修改ts文件保存后即输出js文件到js文件目录下

2.TypeScript中的数据类型

typescript中为了使编写的代码更规范,更有利于维护,添加了类型校验。类型如下

  • 布尔类型boolean

  • 数字类型number

  • 字符串类型string

  • 数组类型array,定义数组的方式

    • let arr:number[] = [1,2,3]
    • let arr:Array = [1,2,3]
  • 元组类型tuple(数组的一种)

    • let arr:[number,string]=[1,'3']表示定义数组中每一个元素的类型
  • 枚举类型enum,用来表示一些状态码,样例如下

    enum 枚举名 {
        标识符[=值],//没有给值的话输出的是下标,即0
        标识符[=值],
        标识符[=值],
        ...
    }
        
    //实例1:
    enum Flag {
    	success=1,
        error=2
    }  
    let s:Flag = Flag.success;
    console.log(s);//输出1
        
    //实例2: 如果标识符没有赋值,则它的值是下标
    enum Color {blue,red=3,'orange'};//如果指定了下标(定义的值是number类型),则其后的元素下标依次递推
    let c:Color = Color.orage;
    console.log(c);//输出red所在的下标的下一个,应是4
    
  • 任意类型any,作用如下:

    • 放置未知对象类型时的报错
  • null和undefined,其他(never类型)数据类型的子类型,使用如下

    let num: number|undefined;//可能是多种类型
    console.log(num);//undefined
    //如果给定了num值
    let num = 11;
    console.log(num);//11
    
  • void类型 ,表示没有任何类型,一般用于定义方法,方法没有返回值,使用如下

    function test():void {//表示方法没有返回任意类型
        console.log('test');
    }
    
  • never类型,是其他类型(包括null和undefined)的子类型,代表从不会出现的类型,这意味着声明never变量只能被never类型所赋值,含义如下:

    //如果定义为undefined类型,则只能赋值给undefined
    let a:undefined;
    a = undefined;
    // never表示从不会出现的值
    let a:never;
    // a = 123;//错误的写法,因为number类型是会出现的类型
    a = (()=>{
        throw new Error('test');
    })();//不会报错,因为throw new Error()这个类型不存在
    //此处定义方法后面直接跟上()表示立即执行函数
    

未完待续…

你可能感兴趣的:(Typescript)