TypeScript基础
# 1.前言
什么是typescript?
TypeScript简称TS TS和JS之间的关系其实就是Less/Sass和CSS之间的关系 就像Less/Sass是对CSS进行扩展一样, TS也是对JS进行扩展 就像Less/Sass最终会转换成CSS一样, 我们编写好的TS代码最终也会换成JS TypeScript是JavaScript的超集,因为它扩展了JavaScript,有JavaScript没有的东西。 硬要以父子类关系来说的话,TypeScript是JavaScript子类,继承的基础上去扩展。
为什么需要TypeScript?
简单来说就是因为JavaScript是弱类型, 很多错误只有在运行时才会被发现 而TypeScript提供了一套静态检测机制, 可以帮助我们在编译时就发现错误
TypeScript特点
支持最新的JavaScript新特特性 支持代码静态检查 支持诸如C,C++,Java,Go等后端语言中的特性 (枚举、泛型、类型转换、命名空间、声明文件、类、接口等)
# 2.搭建TypeScript 本地环境
- 全局安装typeScript
npm i -g typescript
1
- 安装ts-node
npm i -g ts-node
1
- 初始化一个项目
tsc --init
1
- 运行ts文件的编译命令[可以通过package.json 配置编译命令]
tsc index.ts
1
# 3.数据类型定义
# 3.1 基本数据类型定义
// 基本数据类型
let str:string="啦啦啦啦";
let num:number = 123;
let bool:boolean=true;
let nu:null = null;
let un:undefined = undefined;
console.log(str,num,bool,nu,un); //啦啦啦啦 123 true null undefined
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 3.3 数组定义
let arr:string[]=['1','2','3','4'];
1
let arr1:Array<number> = [100,200,300];
1
let arr2:(string|number)[] = ['1',2,'3',4];
1
# 3.4 接口 定义 对象的类型
interface User{
name:string,
age:number,
}
let user1:User={name:"张麻子",age:40};
1
2
3
4
5
2
3
4
5
# 3.5 对象数组 定义
let list:(User)[] = [{name:"黄四郎",age:45},{name:"马邦德",age:44}]
1
# 3.6 函数定义
function sum(a:number,b:number):number{
return a+b;
}
console.log(sum(100,200));
1
2
3
4
2
3
4
# 3.7 void 空类型
//函数没有返回值
const avg = (a:number,b:number,c:number):void=>{
console.log(a+b+c);
}
avg(100,200,300)
1
2
3
4
5
2
3
4
5
# 3.8 any 类型
定义任何变量 可以赋值为任何数据类型
let num1:any=123;
num1='100';
console.log(num1);
1
2
3
2
3
# 3.9 类的定义
class Person {
//类的属性 类.属性---借鉴java 的概念
//常量
public inhale:string ="吸气";
//定义属性类型
public name:string;
public age:number;
//类的构造器
constructor(name:string,age:number){
this.name = name
this.age = age
}
//类的方法
//公有方法--实例的方法 实例.方法名()
eat():string{
return '吃饭....';
}
// 静态方法---类的方法 类名.方法名()
static spend():number{
return 5000000000;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
编辑 (opens new window)
上次更新: 2023/01/18, 10:06:34