## :-: [TypeScript - JavaScript that scales](http://www.typescriptlang.org) ## :-: [TypeScript 入门教程](https://ts.xcatliu.com) ## :-: [# Node.js tsconfig.json 配置](https://www.jianshu.com/p/765c013c1390) **TypeScript 优势** - 获得更好的开发体验 - 解决js中的一些难以处理的问题 **简称Ts** - TypeScript是JavaScript的超集,相当于es6是es5、js的超集。 - TypeScript是可选的静态类型系统。 - 类型系统:对代码中所有的标识符(变量、函数、参数、返回值)进行类型检查。 - node、浏览器 环境是不能直接执行ts文件的。(需要借助工具转换) ``` > babel: es6 -> es5 > tsc: ts -> js ``` 有了类型检查增强了面向对象的开发。 **默认情况下,TS会做出下面几种假设:** - 假设当前的执行环境是dom - 如果代码中没有使用模块化语句(import、export),便认为该代码是全局执行。 - 编译的目标代码是ES3 **配置:有两种方式更改以上假设** - 通过命令行`$ tsc index.ts `(繁琐,不推荐) - 使用ts配置文件,更改编译选项。`$ tsc --init`初始化生成`tsconfig.json`配置文件。 **使用第三方库简化流程** - ts-node:将ts代码在内存中完成编译,同时完成运行 `$ npm install @types/node -D` - `$ npm install nodemon -g ` - `$ nodemon --watch src -e ts --exec ts-node src/index.ts` **TS中的模块化** `nodejs`跟`浏览器`环境,统一使用`es6`的导入导出。(需要修改tsconfig.json中的配置)