这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天
TypeScrjipt发展的历史
前端的主流框架都支持Typescript
选择TypeScript的原因
Javascript是动态类型的语言 也就是解释型语言(只有在执行的时候才会去做类型的检验或者匹配)
TypeScript静态类型的语言需要提前编译(也就是编译型语言,需要先走一次编译)
Typescript其实就是JS的超集。
使用TypeScript的好处
- 可读性增加:基于语法TSDoc,ide增强
- 可维护性增强:在编译阶段暴露大部分的错误,而JS不会
JavaScript类型
JavaScript 数据类型 值类型:string number boolean null undefined symbol 对象类型:object array function 还有两个特殊的:regexp date
TypeScript类型声明
类型声明不仅仅用于变量身上,在函数的参数以及返回值上也能进行使用。
TypeScript类型
let b:'male'|"female";
b = 'male'
b = "female"
let c:string| number;
c = '11'
c = 11
//any表示的是任意类型,一个变量设置类型是any相当于对该变量关闭了ts的类型检测。
let d:any; // let d; 隐式any
d = 10;
d = "hello"
d = true
let e:unknown; //未知 实际上就是类型安全的any
let s:string;
s = d; //d的类型是any,它可以赋值给任意变量不会报错
//但是unknown不能赋值给string 会提示
// Type 'unknown' is not assignable to type 'string'
类型断言
可以用来告诉解析器变量的实际类型
s = e as string; s = e;