TypeScript基本配置和基本类型
1.Ts的安装
注意:在安装ts的前提是安装了node这样才能通过npm 或者yarn进行安装ts
npm install -g typescript
2.Ts的编译和运行
Ts不能直接在浏览器上进行运行,需要先把Ts编译成js才能进行正常的运行
tsc XXX.ts
node XXX.js
3.Ts的类型
let type01:number = 10; //number类型
let type02:boolean = true;//布尔类型
let type03:string = 'aaaaaa';//字符串类型
let type04:bigint = 1223335;//能够表示任意精度的整数,但是也仅仅只能表示整数
let type05:any //任何类型都行相当于和之前的js一样,一般不使用这个类型,当没办法时候可以用,当类型没有设置默认any,可以赋值给任意类型(不仅关闭自己类型检查还关闭其他的类型检查)
//联合类型
let type06:boolean | number //中间加一个|或者可以进行类型的联合使用
let type07:unknown //未知类型,可以任意赋值(只会关闭自己的类型检查,不会关闭其他的类型检查)
//any 和 unknown非常相似any比unknown严重,实际上就是一个类型安全的any
//类型断言
e = 'aaaaa'
//使用类型断言
type03 = e as string; //as就是类型断言相当于编译器不知道,但是我们知道当e没有去定义类型可以加上类型断言(指鹿为马),但是一定需要保证断言是正确的。
type03 = <string>e //类型断言的另一种写法和as一样
let type08:never //never绝对意义上的不
let object:object //对象类型,万物皆对象,所以一般不使用object去定义对象
let obj:{name:string,age?:string};//一般使用这样的方式去定义对象 obj = {name:"12"};//必须要和上边的类型一样,在属性后边添加?表示可选属性
let obj:{name:string,[propname:string]:any}//表示可以任意类型的属性
//函数类型
let fn:(x:number,y:number)=>number//用这种方法预定义参数,预定义返回值类型
//数组类型,在js中的数据可以存任意类型的数据
let e:string[];//表示e的数组中只能存放字符串
let e:Array<number>//和上变定义方式一样
//元组类型,固定长度的数组,当数组中的数据是固定的使用元组效率比较高
let h:[number,number];//注意和数组的定义方式的区别
//枚举类型,当结果是在多个值之间选择的时候适合用枚举,要区别枚举和对象的区别
enum Gender = {
male = 0,
female = 1,
}
let man:{name:string,sex:0|1}
i = {
name:'孙悟空',
sex:Gender.male
}
console.log(i.gender === Gender.male)
&表示同时满足两个条件
let j:{name:string}&{gender:number}
j={name:'徐凤年',gender:1}
//类型的别名
mytype = string //给string设置别名mytype相当于mytype
let x:mytype
04.Ts的方法
//当函数有返回值时候
function sum(x:number,y:number):number{
return 12;
}{
//当函数没有返回值时候
function num():void{
}
//永远没有返回结果
function num():never{
}
//never 比void更严重void是哲学意义上的相对空,而never是绝对意义上的空,用的比较少