TypeScript:JavaScript 静态类型初学者指南
JavaScript 的灵活性是一把双刃剑。虽然它允许快速原型设计和易用性,但其动态特性可能会导致难以调试的运行时错误。 TypeScript 是 JavaScript 的超集,它通过添加静态类型来解决这个问题。本指南介绍了 TypeScript 的类型系统,解释了它的好处以及如何有效地使用它。
理解类型
在编程中,类型指定变量可以保存的数据类型。 JavaScript 的动态类型意味着变量可以自由改变类型:
<code class="language-javascript">let value = 42; // Number value = "Hello"; // String</code>
这种灵活性虽然方便,但可能会导致意想不到的问题。 TypeScript 的静态类型要求您声明变量的类型,以防止此类错误:
<code class="language-typescript">let value: number = 42; value = "Hello"; // Error: Type 'string' is not assignable to type 'number'</code>
类型的重要性
静态类型具有显着的优势:
基本 TypeScript 类型
让我们探索核心 TypeScript 类型:
数字: 代表数值:
<code class="language-typescript">let age: number = 25; let pi: number = 3.14;</code>
字符串: 对于文本:
<code class="language-typescript">let name: string = "Alice"; let message: string = `Hello, ${name}`;</code>
布尔值: 真/假值:
<code class="language-typescript">let isActive: boolean = true;</code>
数组: 项目集合:
<code class="language-typescript">let numbers: number[] = [1, 2, 3]; let names: string[] = ["Alice", "Bob"];</code>
或使用泛型:
<code class="language-typescript">let values: Array<number> = [10, 20, 30];</code>
元组: 固定长度和类型的数组:
<code class="language-typescript">let tuple: [string, number] = ["Alice", 25];</code>
枚举: 定义命名常量:
<code class="language-typescript">enum Direction { Up, Down, Left, Right } let move: Direction = Direction.Up;</code>
任意:通配符类型(谨慎使用!):
<code class="language-typescript">let random: any = 42; random = "Hello";</code>
Void: 对于没有返回值的函数:
<code class="language-typescript">function logMessage(message: string): void { console.log(message); }</code>
空和未定义:显式表示空或未定义:
<code class="language-typescript">let empty: null = null; let notAssigned: undefined = undefined;</code>
从不: 永远不会发生的类型(例如,总是抛出错误的函数):
<code class="language-typescript"> function alwaysThrows(): never { throw new Error("This always throws!"); }</code>
高级 TypeScript 类型
TypeScript 为复杂场景提供了更高级的类型:
let id: number | string;
type Staff = Person & Employee;
type Point = { x: number; y: number; };
interface User { id: number; name: string; }
文字类型:let direction: "up" | "down";
显式指定类型:let input = <HTMLInputElement>document.getElementById("input");
。
>使用tsc --init
strict
。以上是关于 TypeScript 中的类型,您需要了解的一切的详细内容。更多信息请关注PHP中文网其他相关文章!