TS学习笔记01 (ts转为js,命名冲突问题)
一、TypeScript简介
- 介绍
TypeScript是由微软开发的开源、跨平台的编程语言,简称TS
TypeScript是JavaScript的超集,是在JavaScript基础上进行的功能性扩展,语法更严格、更简洁
TypeScript无法直接运行,需要转换为JavaScript才能运行
TypeScript代码是定义在以 .ts 结尾的文件中,最终需要编译为 .js 结尾的文件
- 优点
提供类型系统:增强了代码的可读性和可维护性,在编译阶段就能发现大部分错误
支持ES6:ES6规范是客户端脚本语言的发展方向
强大的IDE支持:类型检测、语法提示
二、环境配置
- 安装环境
将.ts文件转换为.js文件,需要使用TypeScript编译器
使用npm全局安装TypeScript编译器工具
- 执行: npm install typescript g ,安装TypeScript编译器
- 安装后提供一个全局命令工具: tsc
注:VSCode内置了TypeScript插件,提供了TypeScript语法校验功能,会对所有.ts文件进行语法校验
- TypeScript项目
如果一个目录下存在一个 tsconfig.json 文件,那么它意味着这个目录是TypeScript项目的根目录
- 包含tsconfig.json文件的目录为一个独立的TypeScript项目
- 可以在tsconfig.json文件中设置编译器选项,如转换规则、输出目录等
- 在项目根目录下执行: tsc init ,可以进行TypeScript项目的初始化,会自动生成tsconfig.json文件
三、 TS转换为JS
执行命令 tsc '文件名.ts'
四、 命名冲突问题
/**
* 变量名冲突问题
*/
let name = 'tom'; // 默认情况下,无法使用变量名name等,与全局对象window的name属性出现了重名
export {}; // 解决:使用export将文件声明为一个模块module,变量被限制在当前模块作用域下,不会再产生冲突