1:安装node.js
2:使用npm全局安装typescript
进入命令行:npm i -g typescript
3:创建一个ts文件
4:使用tsc对文件进行编译
进入命令行: tsc xxx.ts -w 加-w可以自动检测文件变化,实施修改
基础类型声明
let a : string | number | boolean
a = “string”
a = 234
a = true
console.log(a)
函数参数声明
//可以指定函数参数得类型和数量:void:函数返回空 never表示没有返回值,永远不会返回结果
function b(str:string,num:number):void{
console.log(str + num)
}
b(“string”,123)
声明变量直接赋值
let c : boolean = false;
// 如果变量得声明和赋值是同时进行得,ts可以自动对变量进行检测
c = true
// c = 123 报错
console.log©
// 也可以使用字面量进行类型声明
let a : 10;
a = 10
// 也可以使用| 来连接多个类型(联合类型)
let b : “male” | “famale”
b = “male”
b = “famale”
let c : string
c = “hello”
// any:类型,一个变量设置any类型后,相当于关闭ts类型检测
let d : any;
d = 10
d = “helly”
d = true
// 申明变量如果不指定类型,ts会自动判断为any(隐式any)
let e;
e = 10
e = “string”
e = true
// unknown 表示未知类型的值,是一个类型安全的any,不能直接赋值给其他类型
let s : unknown
s = 19
s = “string”
s = true
// any类型的变量可以赋值给其他类型,不会报错,会将其他类型转换为any类型
c = d
// unknown类型的变量不能赋值给其他类型的变量,会报错
c = s
// 如果string类型非得转换为unknown类型可以用以下方法:
// 类型断言 as
// 可以告诉解析器变量的实际类型
/****
- 语法:
- 变量 as 变量
- <类型>变量
*/
s = c as string
// object 表示一个js对象
let a : object
a = {}
a = function(){
}
// {}用来指定对象中可以包含哪些属性
//语法:{属性名:属性值,属性名:属性值}
// 在属性名后面加上一个?,表示属性可选,可写可不写
let b : {name:string , age?:number}
b = {name:“孙悟空”}
// [propName:string]:any 表示任意类型的属性any换成其他类型就是值为其他类型
let c : {name:string,[xxxx:string]:any}
c = {name:“小明”,age:19,phone:1234432234}
// 设置函数结构类型声明
/**
- 语法:(形参:类型,形参:类型,)=>返回值类型
*/
let d:(a:number,b:number)=>string
d = function(n1:number,n2:number):string{
return n1 + " " + n2
}
let e = d(233,445)
console.log(e)
// string[]表示字符串数组
/**
- 语法:类型[]
-
Array<类型>
*/
let e: string[];
let f: number[];
let g: Array;
g = [1234, 1234, 1234];
/*** * 元组:元组就是固定长度的数组 */
let h: [string, string];
h = [“hello”, “hello”];
// enum 枚举
// 在提前定义某些数据的时候,方便别人知道数据是啥
enum Gender {
Male = 0,
Femali = 1,
}
let i: { name: string; gender: Gender };
i = {
name: “孙悟空”,
gender: Gender.Male,
};
console.log(i.gender === Gender.Male);
&表示同时
let j: { name: string } & { age: number };
j = { name: “孙悟空”, age: 18 };
// 类型别名 type
type myType = 1 | 2 | 3 | 4 | 5;
let k : myType
let l : myType
l = 5
l = 3
console.log(l)