TypeScript 基本结构
TypeScript 程序的基本结构可以分为几个部分,每个部分都有特定的作用。
以下是 TypeScript 程序的常见组成部分:
- 声明部分:包括类型声明、接口声明等。
- 变量声明:包括
let
,const
和var
的使用。 - 函数声明:包括普通函数和箭头函数。
- 类声明:用于定义类及其成员。
- 接口与类型别名:描述类型的结构。
- 模块化:通过
import
和export
组织代码。 - 类型断言:强制类型转换。
- 泛型:使代码具备更多的复用性。
- 注释:增加代码的可读性。
- 类型推断:自动推断类型。
- 类型守卫:缩小类型范围。
- 异步编程:支持
async/await
。 - 错误处理:通过
try/catch
进行错误捕捉。
以上几个部分共同构成了 TypeScript 程序的基本结构,并为开发者提供了强大的类型检查、代码结构和可维护性。
1. 声明部分(Declarations)
类型声明:TypeScript 是一种静态类型的语言,可以通过类型声明来定义变量、函数、类等的类型。类型声明可以帮助代码更具可维护性和可读性。
实例
let age: number = 30;
接口声明:用于定义对象的结构,包括对象的属性和方法。
实例
name: string;
age: number;
}
2. 变量声明(Variable Declarations)
在 TypeScript 中,可以使用 let, const, 和 var 来声明变量。推荐使用 let 和 const,var 用法不再推荐。
实例
const pi: number = 3.14;
3. 函数声明(Function Declarations)
函数声明:TypeScript 允许声明带有类型注解的函数,包括参数类型和返回值类型。
实例
return "Hello, " + name;
}
箭头函数:TypeScript 同样支持 ES6 的箭头函数,使用简洁的语法来声明函数。
实例
4. 类声明(Class Declarations)
TypeScript 提供对面向对象编程的支持,允许定义类和类的方法、属性。
实例
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
greet() {
return `Hello, my name is ${this.name}`;
}
}
5. 接口与类型别名(Interfaces & Type Aliases)
接口(Interface):用于描述对象的形状,接口可以继承和扩展。
实例
name: string;
sound: string;
makeSound(): void;
}
类型别名(Type Alias):允许为对象类型、联合类型、交叉类型等定义别名。
实例
6. 模块和导入导出(Modules & Imports/Exports)
TypeScript 支持模块化编程,可以使用 import 和 export 来组织代码。
导出:
实例
constructor(public name: string) {}
}
导入:
实例
7. 类型断言(Type Assertions)
在某些情况下,TypeScript 无法推断出一个变量的准确类型,开发者可以使用类型断言来强制指定类型。
实例
let strLength: number = (value as string).length;
8. 泛型(Generics)
泛型允许在定义函数、接口或类时不指定具体类型,而是使用占位符,让用户在使用时传入具体类型。泛型能够增加代码的复用性和类型安全性。
实例
return arg;
}
9. 注释(Comments)
注释在 TypeScript 程序中用于解释代码的作用、思路等,增加代码的可读性。
单行注释:
实例
多行注释:
实例
多行注释 */
10. 类型推断(Type Inference)
TypeScript 在某些情况下会自动推断变量的类型。例如,在声明变量并赋值时,TypeScript 会推断出该变量的类型。
实例
11. 类型守卫(Type Guards)
TypeScript 提供了类型守卫(如 typeof 和 instanceof),用于在运行时缩小变量的类型范围。
实例
return typeof value === 'string';
}
12. 异步编程(Asynchronous Programming)
TypeScript 完全支持异步编程,可以使用 async/await 语法来处理异步操作。
实例
const response = await fetch("https://example.com");
const data = await response.text();
return data;
}
13. 错误处理(Error Handling)
TypeScript 允许使用 try/catch 块进行错误处理,还可以使用类型来描述错误的类型。
实例
throw new Error("Something went wrong");
} catch (error) {
if (error instanceof Error) {
console.error(error.message);
}
}
点我分享笔记