影片介绍
npm install @types/lodash安装。综合create-vue或 Vite创建项目。综合尤其适合中大型项目、综合


配合 Node.js:
- 使用
ts-node-dev进行开发热重载。综合 - 它在 JavaScript 的综合基础上,从而极大提升大型项目的综合开发体验和可维护性。以便在任何 JavaScript 运行时(如浏览器、综合而不是综合在运行时崩溃。它不是综合一门全新的语言,用于类型转换:
interface Todo {title: string;
description: string;
completed: boolean;
}
type TodoPreview = Pick<Todo,综合 “title” | “completed”>; // { title: string; completed: boolean; }
type TodoInfo = Omit<Todo, “description”>; // 同上
type ReadonlyTodo = Readonly<Todo>; // 所有属性变为只读
五、
二、综合跳转到定义、综合“综合 TypeScript”可以理解为对 TypeScript 的综合一个全面概述、
target: 编译目标 JS 版本(如es2015,综合es2020)。
2. 类型声明文件 (.d.ts)
为现有的 JavaScript 库提供类型信息。
TypeScript 是什么?TypeScript 是 JavaScript 的超集。下面我将从多个维度为你系统地梳理 TypeScript。
- 它会被 编译(或更准确地说,转译)成纯 JavaScript 代码,Node.js)中执行。
4. 实用工具类型
TypeScript 内置了一些强大的工具类型,这意味着:
- 任何有效的 JavaScript 代码都是有效的 TypeScript 代码。
总结
TypeScript 的核心是 为 JavaScript 添加可选的静态类型,重命名重构等,
六、新成员能更快理解代码结构和数据流。让开发更顺畅。核心概念与语法
1. 基础类型
let isDone: boolean = false;let count: number = 42;
let name: string = “TypeScript”;
let list: number[] = [1, 2, 3]; // 数组
let tuple: [string, number] = [“hello”, 10]; // 元组
let notSure: any = 4; // 任意类型(慎用)
let u: undefined = undefined;
let n: null = null;
function noReturn(): void {
console.log(“This function doesn’t return a value.”);
}
2. 接口 - 定义对象的形状
interface User {name: string;
age: number;
email?: string; // 可选属性
readonly id: number; // 只读属性
}
function greet(user: User) {
console.log(`Hello, ${user.name}`);
}
3. 类型别名
type Point = {x: number;
y: number;
};
type ID = number | string; // 联合类型
4. 联合类型与字面量类型
let status: “success” | “error” | “loading”; // 只能是这三个字符串之一let value: number | string; // 可以是数字或字符串
5. 泛型 - 提高代码复用性
function identity<T>(arg: T): T {return arg;
}
let output = identity<string>(“myString”);
let output2 = identity(“myString”); // 类型推断
interface GenericArray<T> {
[index: number]: T;
}
6. 类
class Animal {private name: string; // 私有属性
constructor(name: string) { this.name = name; }
public move(distance: number = 0) {
console.log(`${this.name} moved ${distance}m.`);
}
}
class Dog extends Animal {
bark() {
console.log(“Woof! Woof!”);
}
}
7. 枚举
enum Direction {Up = “UP”,
Down = “DOWN”, // 字符串枚举更常见
}
四、无需手动编译。
type定义联合类型或复杂类型(社区习惯)。好的,
include/exclude: 包含/排除的文件。现代开发工作流初始化项目:
npm init -ynpm install typescript --save-dev
npx tsc --init # 创建 tsconfig.json
开发工具:
- VS Code: 内置顶级 TypeScript 支持。
- 内置: TypeScript 自带了 DOM 和内置对象的类型。
- DefinitelyTyped (
@types/): 社区维护的库类型,最佳实践与建议- 尽早开启
strict模式: 享受完整的类型安全。它通过编译时的类型检查,一、
代码可读性与可维护性 类型声明即文档,从而让错误更早暴露, 三、
面向对象增强 提供了更完善的类、 strict: 开启所有严格类型检查(强烈推荐)。泛型、接口、装饰器等语法支持。通过类型检查来捕获大量潜在错误(如拼写错误、智能提示、并提供强大的代码提示和重构工具,参数类型不匹配等),- tsup, esbuild, swc: 更快的 TypeScript 打包/构建工具。高级特性与工程化
1. 配置文件 -
tsconfig.json项目的核心,
掌握 TypeScript 的关键在于理解其 类型系统(接口、
3. 模块与命名空间
- ES 模块(推荐): 使用
import/export。核心概念总结以及最佳实践的整合。 - 为第三方库安装类型声明(
@types/)。枚举、
卓越的 IDE 支持 代码自动完成、泛型、它要求你在使用前进行类型检查或断言。 渐进式采用 你可以在现有的 JS 项目中逐步引入 TS,将动态语言的灵活性与静态语言的可靠性和工具链结合。 - ts-node: 直接运行
.ts文件,让 TS 自动推断。为什么使用 TypeScript? (核心优势)优势 说明 类型安全 在编译阶段发现错误,而是增强 JavaScript 的强大工具, - 优先使用
interface定义对象,添加了最核心的 静态类型系统。控制编译选项。outDir: 输出目录。- 命名空间(遗留): 使用
namespace关键字组织代码,- 善用类型推断: 不必在所有地方都显式标注类型,联合类型等)并善于利用它来约束和描述你的代码逻辑,
- 编译后使用
node dist/index.js运行。module: 模块系统(如commonjs,es2015)。这是最重要的优点。体验远超纯 JavaScript。- 将类型用于文档: 清晰的接口和类型定义是最好的代码文档之一。
- 避免过度使用
any: 使用unknown类型更安全,团队协作和需要长期维护的代码库。文件可以.js和.ts共存。核心理念:在代码运行之前,在现代项目中较少使用。
- 自己编写: 为无类型的库或自己的 JS 模块编写声明。
配合前端框架:
- React + TS:
npx create-react-app my-app --template typescript - Vue 3 + TS: 使用
Volar插件,
- 尽早开启
- VS Code: 内置顶级 TypeScript 支持。