typeScipt教程文档
# typeScipt简介
# typeScipt由来
程序员在编写代码的时候经常会遇到类型错误,就是我们明明定义的是布尔类型的值,偏偏就赋值给数字类型的,所以typeScript就诞生了。
# typeScipt是什么?
它是静态类型的语言,写代码的时候阶段就会检查错误,而不是运行阶段
# 带来了什么好处?
首先我们可以跟vue、react框架更好的结合,并且提高了代码的可读性和维护性
# 它最后编译成什么语言
js
# 声明
# 基本类型
## 字符串、数字、布尔值
var a:string = 'cccc'
c.substring(1,2)
var b:numebr = 24
b.toFixed(1)
var c:boolean = true
c = false
// 不确定性
var d:numer | string = 'nb'
d = 520
var e:any = '77'
e = true
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 复杂类型
# 数组
## 第一种限制数组值类型
var list:string[] = ['1','3']
list.push('9')
var list2: (string | number)[] = ['1',4]
var list3:any = ['1',3, true]
## 第二种写法泛型
var mylist1:Array<string> = ['aa','bb','cc']
var myList2:Array<string | number> = ['1',4]
var myList3:Array<any> = ['1',3, true]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 对象
## 接口
interface Iobj {
name: string,
age: number,
location?: string // 可选属性
[propName:string]: any // 不关心的属性
}
var obj:Iobj = {
name: '李四',
age: 25,
// laoction: 'dali',
}
var obj:any = {
name: '李四',
age: 25,
// laoction: 'dali',
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 函数
## 写法1
function test(a:string,b?:number):string {
return a.strike(0,1)
}
var myString:string = test('hfb')
## 写法2 接口
interface IFunc {
(a:string,b?:number):string
}
var myString:IFunc = function test(a:string = '网吧',b?:number):string {
return a.strike(0,1)
}
interface IObj {
name: string,
age: number,
getName: (name:string) => string
}
var obj:IObj = {
name: 'lisi',
age: 24,
getName: (name:string) => name
}
function fun(): void { // 表示没有任何值的函数
console.log(555)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 进阶
# 类型断言
可以手动指定一个类型
## 1. 变量 as 类型
x as string
## 2.<类型> string
<string>x
## 3.将任何类型断言为any,能够访问任何属性和方法
## 它极有可能掩盖了真正的类型错误,所以如果不是非常确定,就不要使用 as any
(window as any).a = 10
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
上次更新: 2023/03/05, 15:03:00