typeScript的学习笔记1
基本类型
布尔值
Boolean: true / false
1 |
|
数值
ts中的数字跟js一样,都是浮点数,类型为number,二进制、十进制、十六进制等等
1 |
|
字符串
文本语言,类型是string,可以用””双引号,也可以用’’单引号表示
1 |
|
数组
类型array,ts中表达的方式如下:
1 |
|
元组
表示一个已知元素类型跟数量的数组,如果赋值跟定义的不一样就会报错
1 |
|
枚举
类型:enum,枚举提供给开发人员一个便利,就是在知道数值的情况下,通过数值去查询数值对应的名称
1 |
|
Any
表示任意类型,在开发的时候,如果无法事先得知参数的类型,可以赋予Any
1 |
|
Object
object类型表示除了number、string、boolean、symbol、null或者undefined之外的类型
Void
表示没有类型,从某种角度来说,它跟any相反。如果要声明一个void类型,我们只能给它赋值null或者undefinde,而对于函数来说,没有返回的时候就是void
1 |
|
某种说法下,类型的设置跟null还有undefined其实差不多
1 |
|
断言
表示预知的下一个实体具有比它现在类型更确切的类型
1 |
|
变量声明
- 通过var
- 通过let
- 通过const
这里需要注意var有变量声明提升,let跟const是有块级作用域,而const赋值以后无法更改。
接口
用于做定义,来描述结构,关键字是:interface
1 |
|
只读属性
属性的只读设置:readonly x: string
数组的只读设置:ReadonlyArray
只读的信息是无法更改的,只能读取
额外的属性检查
在js中,当遇到传入参数,不在定义的参数之中,对于程序来说不会报错,只会当成一个额外的参数传入而已。
但是在ts中会认为这个是一个bug,然后抛出异常。当这个值作为变量或者参数传递的时候,存在了不包含的参数,就是一个错误。
而解决这种错误的方法就是要绕过检查:
- 利用断言的方式
1
2
3
4
5
6interface test {
width: number;
height: number;
}
let fn = function ({width: 20, color: 'red'} as test) {} - 使用字符串索引签名: 可以往里面添加任意的索引
1
2
3
4
5interface test {
width: number;
height: number;
[propName: string]: any;
}函数类型
接口类型也可以定义函数,直接代替函数中的参数跟返回值1
2
3
4
5
6
7
8interface fn {
(name: string, age: number): boolean;
}
let myFn: fn;
myFn = function(name: string, age: number) : boolean {
return age > 18;
}
可索引的类型
定义数组的接口,可定义string类型的索引,也可以定义number类型的索引
1 |
|
类类型
可以用接口去约定类
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!