TypeScript
JS易学易用,容易有安全隐患。
TS易维护。
ts需要被编译为js文件再执行。
增加了新的类型,同时支持ES的新特性,并且增加了ES不具备的新特性,丰富的配置选项。
TS类型声明:使得变量只能为某种类型。
如果变量声明和赋值是同时进的,TS可以自动对变量进行类型检测。
JS中函数是不考虑参数类型和个数的
类型声明 可以用在参数,返回值 身上
类型
number、string、boolean object any array unknown void never array tuple enum 自面量(let b:male|female)–联合类型
一个变量设置为any类型之后,相当于对该变量关闭了TS的类型检测
any类型可以任意赋值给其他字符串
unknown不可以赋值给别的变量 —实际上是一个类型安全的any
想要赋值可以先做类型判断
void 空值 —多用于函数返回值
never 没有值
类型断言 s = e as string / s = e
object、function实际用法
用来告诫解析器编译的实际类型
let b:{name:string, age?:number}
用来制定对象中可以包含哪些属性,在属性后面加上?代表属性可选
let c:{name:string, [propName:string]:any}
使用箭头函数控制函数入参和返回值
let d:{a:number,b:number}=>number
控制数组类型:
类型[] / Array<类型>
let e:string[]//表示全是字符串数组
let f:number[]//表示全是数值数组
let g:Array<number>//同上一行含义
元组tuple 即为固定长度的数组
语法:[类型,类型,类型...]
let h:[string string]
枚举 enum
enum Gender{
Male=0,
Female=1
}
let i:{name:string ,gender:Gender}
i = {
name:'张三',
gender:Gender.Male//易读
}
|或者 & 与
类型的别名 type
type myType = string;
let m:myType;//string