-
?是可选参数
code: number = 0 默认参数
查看全部 -
类型适配(类型断言)Type Assertions:通知TS进行类型适配的过程
let message: any;
message = "abc";
mesage.endsWith("c");
let ddd = (<string>message).endsWith("c")
let ddd2 = (message as string).endsWith("c")
查看全部 -
void
undefined:变量没有赋值,没有初始化
void:变量本身就不存在
never:一个函数永远执行不完
查看全部 -
Any任意类型
Unknown未知类型
不保证类型,但能保证类型安全
使用Any适合快速成型,快速上线,但有一定的安全隐患
使用Unknown更加保险,保证类型安全
查看全部 -
Enum枚举类型
查看全部 -
Union联合类型
一个变量可以支持两个或者几个不同的类型,用竖线分割
let union: string | number
let union2 : number | string | boolean | string[]
Literal字面量类型,表示固定值(字面意义)
let union3: 0 | 1 | 2
let literal : 1 | "2" | true | [1,2,3,4]
查看全部 -
Array数组
数组中可以存放任意类型的数据,JS中数组的宽容度非常大,TS也很好的继承了这一点
let list: number[] = [1,2,3,4]
let list2: Array<number> = [1,2,3,4]
let list3 = [1,2,3,4]
let list4 = [1, "add"]
let list5: any[] = [1, "dss", true]
tuple元祖:固定长度,固定类型的数组
let person1: [number, string] = [1, "jack"]
tuple元祖bug:person1.push(3) 不报错,不满足固定长度的定义
声明元祖一定要指明类型,不指明类型就是普通的array
查看全部 -
Number:整数、浮点、正负数
String:单引号、双引号、反引号(字符串模板)
boolean:true, false
查看全部 -
TypeScript类型
基本类型
boolean, string, number, array, null, undefined, object
元祖tuple, 枚举enum
void, never, any
高级类型:
union组合类型
Nullable 可空类型
Literal 预定义类型
查看全部 -
1. 什么是TypeScript:是js的超集,包含ES5/6/7/8,语法结构构建在js上
ts无法在浏览器中运行,需要编译,翻译为js
Typing强类型,可以规范代码,在编译阶段就能及时发现错误,在原生js基础上加上一层类型的定义
2. 为什么要使用TypeScript
类型推演与类型匹配
开发编译时报错
极大程度的避免了低级错误
支持Js的最新特性,包括ES6/7/8
JS: 10 + 5 = 105
自动进行类型检查,避免低级错误,帮我们写出更高质量的代码
查看全部 -
tyscriptlang.org
查看全部 -
ES6 = ES2015 ES7 = ES2016 ES8 = ES2017 babel 转换
查看全部 -
枚举类型
查看全部 -
let union: string | number
union = 2 ;
union = "sdasadjkas" ;
查看全部 -
type
查看全部
举报