这是我参与「第四届青训营 」笔记创作活动的第6天
什么是TypeScript
- TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准。
- TypeScript 由微软开发的自由和开源的编程语言。
- TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript 可以运行在任何浏览器上。
- JavaScript是动态类型而TypeScript为静态类型。
TypeScript的优点
- 类型在进行重构时可以提高敏捷性。对于编译器来说,捕获错误比使事情在运行时失败更好;
- 类型是您可以拥有的最佳文档形式之一。函数签名是一个定理,函数体是证明
换句话说,就是:
- 可读性增强:基于语法解析TSDoc,ide增强
- 可维护性增强:在编译阶段暴露大部分错误多人合作的大型项目中,获得更好的稳定性和开发效率
- 包含于兼容所有Js特性,支持共存
- 支持渐进式引入与升级
基础数据库类型
/*字符串*/
const q:string='string';
/*数字*/
const w:number=1;
/*布尔值*/
const e:boolean=true;
/*nul1*/
constr:null=null;
/*undefined*/
const t:undefined=undefined;
使用冒号来定义类型。
“I”开头一般是一种类型,例如:
函数类型声明
当我们通过TypeScript定义函数时,实际上已经声明了函数签名和定义了函数体。
函数重载
函数重载是TypeScript特有的。
函数的重载:函数名称相同,但是参数的个数或者类型不同。
高级类型
联合/交叉类型
- 联合类型:IAIIB;联合类型表示一个值可以是几种类型之一
- 交叉类型:IA&IB;多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性
类型保护与类型守卫
类型守卫是 一个值确保在该类型的范围内。
函数返回值类型
一般情况下,TypeScript 中的函数返回值类型是可以缺省和推断出来的,但是有些特例需要我们显式声明返回值类型。
工程应用
一般是浏览器Web上的应用和NodeJs上的应用。
Web应用
- 配置webapack loader相关配置
- 配置tsconfig,js文件
- 运行webpack启动/打包
- loader处理ts文件时,会进行编译与类型检查