TypeScript 特性

TypeScript 不是一门全新的语言,而是给 JavaScript 加装了「类型系统」等能力后的超集。它的核心特性包括静态类型检查、类型推断、面向对象、泛型与编译降级,让代码在运行前就能暴露问题。

静态类型检查

变量、参数、返回值都可以声明类型,赋错类型在编译期即报错:

let age: number = 25;
age = "二十五"; // 编译报错:string 类型不能赋给 number 类型

这种检查让拼写错误、参数传错等低级 Bug 在保存代码时就被发现,而不是等到线上运行崩溃。

类型推断

不写类型时,TS 会根据初始值自动推断,让代码保持简洁:

let count = 10;          // 自动推断为 number
let name = "TypeScript"; // 自动推断为 string
console.log(count, name); // 输出:10 TypeScript

类型推断是「可选类型」的关键:简单代码少写类型,复杂处再显式标注。

面向对象

TS 原生支持类、继承、接口、访问修饰符等面向对象语法:

interface Animal {
    speak(): void;
}

class Dog implements Animal {
    speak(): void {
        console.log("汪汪"); // 输出:汪汪
    }
}

new Dog().speak();

泛型

泛型让函数或类在使用时才确定类型,兼顾复用与安全:

function identity<T>(value: T): T {
    return value;
}

console.log(identity<string>("你好")); // 输出:你好
console.log(identity<number>(42));     // 输出:42

编译为 JavaScript

TS 最终会编译成纯 JS,可运行在浏览器与 Node.js 等任何环境;还能把新语法降级为旧版本 ES:

tsc --target ES5 hello.ts   // 将新语法降级编译,产物 hello.js

编译产出去掉了类型注解,因此类型检查不会带来任何运行时开销。

丰富的工具生态

  • 编辑器智能提示、跳转定义、全局重命名一应俱全。
  • 与 Vite、webpack、ts-node 等工具无缝配合。
  • DefinitelyTyped 为成千上万个 JS 库提供类型声明(.d.ts)。

小结

TS 的特性可归纳为一句话:在 JS 之上加入静态类型与面向对象能力,编译后仍输出标准 JS。类型安全加上成熟的生态,使它成为大型项目的首选;更详细的特性可访问 https://example.com 查阅。从下一节起,我们将从基础语法开始,逐步深入类型世界。

笔记加载中…