TypeScript 基础
1. 语言定位与基础机制
Section titled “1. 语言定位与基础机制”TypeScript (简称 TS) 是微软开发的一种基于 JavaScript 的编程语言。
- 核心本质:它是 JS 的 严格超集。完全向下兼容原生 JS 语法,并在此基础上引入了极其强大的 静态类型系统。
- 执行机制:浏览器和 Node.js 原生无法直接运行 TS。开发阶段编写的
.ts源码,必须经过编译器 (tsc) 降维转译为纯.js代码后,才能送入引擎执行。
(安装依赖:npm install -g typescript)
2. 编译器 (tsc) 实战与参数控制
Section titled “2. 编译器 (tsc) 实战与参数控制”直接在终端调用 tsc 编译器将源文件转换为 JavaScript:
2.1. 核心命令行参数
Section titled “2.1. 核心命令行参数”# 基础转换 (生成同名的 app1.js)tsc app1.ts
# 将多个输入文件合并打包为一个独立的 js 产物tsc app1.ts app2.ts --outFile app.bundle.js
# 指定输出的目录,隔离源码与产物tsc app1.ts --outDir dist/
# 指定降级转译的目标 ECMAScript 语法版本 (默认极低以兼容上古浏览器,推荐 es6+)tsc app1.ts --target es2015
# 严格模式:一旦发生类型校验错误,直接中断并拒绝输出 js 文件tsc app1.ts --noEmitOnError
# 类型检查模式:只扫描代码爆出类型警告,彻底不生成任何 js 物理文件tsc app1.ts --noEmit2.2. 工程化基石:tsconfig.json
Section titled “2.2. 工程化基石:tsconfig.json”在现代项目中,绝不会手动敲击冗长的 CLI 参数,而是通过根目录的 tsconfig.json 声明式控制编译策略。
{ "files": [ "src/file1.ts", "src/file2.ts" ], "compilerOptions": { "outDir": "./dist", "target": "ES6", "strict": true }}在包含此文件的目录下,直接在终端输入 tsc 回车即可根据规则全量编译项目。
3.1. 类型
Section titled “3.1. 类型”let foo:stringfunction toString(num:number):string { return String(num);}- 使用冒号: 类型的格式
- 类型声明不是必须的,会有类型推断。
4. 进阶利器:ts-node (跳过物理编译直接运行)
Section titled “4. 进阶利器:ts-node (跳过物理编译直接运行)”在开发 Node.js 后端脚本或进行算法测试时,频繁执行 tsc -> node app.js 非常繁琐。
ts-node 是一个广受欢迎的社区工具,它能在底层实时(JIT)转译并立刻执行 TS 代码,不在磁盘上生成冗余的 .js 垃圾。
# 全局安装npm install -g ts-node
# 一键运行 TS 脚本文件ts-node script.ts
# 直接启动带有 TS 语法支持的交互式终端 (REPL)ts-node