初始typeScript

177 阅读3分钟

什么是typescript

他是JavaScript的一个超集,支持ECMAScript6标准,由微软公司开发的自由、开源的编程语言,扩展了JavaScript得语法,它的设计目标是开发大型应用,全部浏览器兼容。

优点:他有更多的规则和类型限制,代码具有更高的预测性、可控性,易于维护和调试;对模块、命名空间和面向对象的支持,更容易组织代码开发大型复杂程序

如何安装

使用npm安装typescript 1.使用一下命令来安装模块 npm install -g typescript/cnpm install -g typescript

注意:使用cnpm需要提前安装淘宝镜像

运行和编译typescript

所有的TS文件必须通过下列方式编译成JS文件后,才能执行页面

  1. 使用中断指令手动编译tsc index.ts
  2. 使用中断指令自动编译tsc --init生成对应得tsconfig.json文件
  3. tsc -w检测将ts文件编译成js文件

image.png image.png image.png image.png image.png

原始数据类型

image.png

布尔类型

声明boolean类型: 冒号:前面是变量名称,后面是变量类型,布尔型是最简单的数据类型,它的值就是true/false值。

let isDone:boolean=false

字符型

声明string类型: 使用string表示文本数据类型,使用双引号("")或单引号('')便是字符串,同时,还可以使用模板字符串,它可以定义多行文本和内嵌表达式。

let userName:string='abc'
let info:string=`Hello world`

undefined和null类型:

声明undefined和null类型: 在TS语法中,这两种类型的功能不是很强大,他们是所有类型的子类,可以将它们赋值给人以的类型,如果不声明类型,默认undefined型。

let unde:undefined=undefined;
let nul:null=null;

void型

声明void类型: 他表示没有任何类型。当一个函数没有返回值时,其返回类型是void,声明一个void类型的变量,只能接受undefined和null类型值

let unusable:void=undefined;
function tip():void{
    console.log("ok")
}

any型

声明any类型: 当一个变量的值源于用户输入、动态内容和第三方插件,在不清楚明确类型的情况下,可以定义为any型,当只知道一部分值得类型的时候,也可以定义为any型

let notSure:any=4;
let anyThing:any[]=[1,true,"free"]

never型

声明never类型: 它是其它类型的字类型,代表从不会出现的值,never变量只能被never类型所赋值,函数中他表现为抛出异常或无法执行到终止值

var a:never
//a=1234  会报错
a=(()=>{
    throw new Error("报错")
})

数组型

声明数组类型: 第一种,可以在元素类型后面接上[],表示由此类型元素组成的一个数组

let nums: number[]=[1,2,3]

第二种方式是使用数组泛型,Array<元素类型>

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

元组型

声明元组类型: 该类型是指定数组中每一个值具体类型,在赋值时必须遵行定义的顺序和类型,他是一种严格的数组

let arr:[string,number,boolean]=['你好',3,true]

object型

声明object类型: 表示非原始类型,也就是除unmber,string,boolean,symbol,null或undefined之外的类型

function test(obj:object){
    console.log("ok")
}
test({"name":"石志强"})
test(()=>{})
test([1,2])

一个元素可以声明多个类型

声明多个类型:

let a:number|string|undefined
console.log(a)//没有赋值就是undefined
a=100
console.log(a)//此时a的值为100