TypeScript 课程笔记
基础概念
TypeScript 是 JavaScript 的超集,为 JS 添了静态类型系统。可在编译阶段揪出类型错误,增强代码可读性与可维护性。开发环境搭建用 npm 全局安装 typescript,再经 tsc 命令编译 .ts 文件成 .js 文件运行。
数据类型
1. 基础类型: number (含整数、浮点数)、 string (单双引号或反引号包文本)、 boolean ( true 、 false )、 null (表示空值)、 undefined (变量声明未赋值状态)。 2. 特殊类型: void 常用作无返回值函数的返回类型; any 突破类型检查,少用防类型安全失控; never 代表不会有返回值情况,像无限循环或抛异常函数返回值类型。
变量声明
1. let 与 const : let 块级作用域,可重赋值; const 声明常量,不可重赋值,定义对象时内部属性值可变。 2. 类型注解:声明变量时加 :类型 明确类型,如 let count: number = 5; ,帮助编译器查错。
函数
1. 函数声明:可像 JS 那样声明,也能用类型注解标参数与返回值类型, function add(a: number, b: number): number { return a + b; } 。 2. 箭头函数: const add = (a: number, b: number): number => a + b ,简洁,词法作用域绑定 this 。
接口
接口定义对象结构,描述属性名、类型与是否可选等。 interface Person { name: string; age?: number; } ,可选属性加 ? ,函数类型属性可写 (arg: type) => returnType 形式规范函数签名。
类
1. 类定义与属性: class Animal { constructor(private name: string) {} } ,用访问修饰符( private 、 public 、 protected )控属性访问权限。 2. 继承与方法重写: class Dog extends Animal { bark() { console.log('汪汪'); } } ,子类用 super 调父类构造函数或方法,重写方法保持签名一致。
泛型
提高代码复用性,应对多类型场景。像函数 function identity(arg: T): T { return arg; } ,调用时传类型实参 identity(5) ,类、接口也能用泛型,灵活适配不同数据结构操作需求。
模块
模块组织代码,用 export 暴露功能, import 引入。默认导出 export default 单值,具名导出 export const/function/class 按需引入,导入可整体 import * as moduleName from './file' 或部分引入。