声明变量的关键字
-
let
-
const
-
var(官方不推荐再继续使用)
TypeScript 的类型
基础类型
-
number
string
boolean
array
null
undefined
object
-
tuple
enum
void
never
any
高级类型(部分)
union 组合类型
Nullable 可空类型
Literal 预定义类型
数字、布尔、字符串
-
number:表示 整数、浮点数、正负数
-
boolean:真 或者 假
-
string:
""
、''
、``
- 反引号:
``
,可以创建一个字符串模板
- 反引号:
数组(Array)、元组(Tupple)
-
array:
[]
存放任意类型的数据-
let list1: number[] = [1, 2, 3]
-
let list2: Array<number> = [1, 2, 3]
-
let list3 = [1, 'abc']
-
-
tupple:固定长度、固定类型的特殊数组
let person : [number, string] = [1, 'abc']
联合(Union)、字面量(Literal)
枚举(Enum)
-
默认从0开始,可以指定值
enum Color{ red, green = 3 , blue = '蓝色' } let color1 = Color.blue console.log(color1) // 蓝色 console.log(Color.red) // 0 console.log(Color.green) //3
Any、UnkNown
-
any:动态支持任意类型
-
unkNown:未知类型,比any的限制性大一点
let randomValue:unkNown if (typeof randomValue === 'function'){ randomValue() } if (typeof randomValue === 'string'){ randomValue.toupperCase() }
函数返回值:void、undefined、never
-
void:没有声明的变量
function onlyPrint1():void{ console.log('---') }
-
undefined:申明的变量没有赋值
function onlyPrint2():undefined{ console.log('===') return }
-
nerver:执行不到终点
-
function throwErr(msg:string, code: number):never{ throw{ msg, code } console.log('执行不到这里') }
-
function whileLoop():never{ while(true){ console.log('>>>') } }
-
类型适配 Type Assertions
-
let msg:any msg ='strData' // 此时为 any类型 编辑器不会自动补全、联想出对应类型的方法 console.log(msg.replace('t', 'o')) // 方法一:(<类型>变量名) console.log((<string>msg).toupperCase()) // 方法二:(变量名 as 类型) console.log((msg as string).split('a'))
函数的参数类型
-
给函数的参数指定类型
-
let log1 = (msg:string) => console.log(msg)
-
-
?
可使参数不用必须传递 默认值为 undefined-
let log2 = (msg:string, code?:number) => console.log(msg,code)
-
-
设置参数默认值
-
let log3 = (msg:string, code:number=2) => console.log(msg,code)
-
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。