TypeScript 快速参考:掌握核心概念与最佳实践

安装、运行、类型、类别,所有基础知识

目录

以下是我在 TypeScript 方面的简洁 TypeScript 快速参考,涵盖开发者常用的关键概念、语法和代码示例:

TypeScript 快速参考 3D

TypeScript 快速参考

入门

  • 全局安装:
    npm install -g typescript
    
  • 编译文件:
    tsc filename.ts
    
  • 检查版本:
    tsc --version
    

基本类型

let a: number = 10;
let s: string = "TypeScript";
let b: boolean = true;
let arr: number[] = [1, 2, 3];
let tuple: [string, number] = ["TS", 2025];
let anyValue: any = "Flexible";
let unknownVal: unknown = 5;
let notDefined: undefined = undefined;
let notPresent: null = null;

联合类型与字面量类型

let id: number | string = 42;
let direction: 'left' | 'right' = 'left';

类型别名与接口

type Point = { x: number; y: number };
interface Person { name: string; age: number; }
let user: Person = { name: "Alice", age: 25 };

函数

function sum(a: number, b: number): number {
  return a + b;
}
const multiply = (a: number, b: number): number => a * b;
function log(msg: string): void { console.log(msg); }

class Animal {
  name: string;
  constructor(name: string) { this.name = name; }
  move(distance: number = 0): void { console.log(`${this.name} moved ${distance}`); }
}

访问修饰符

  • public(默认),privateprotectedreadonly
class Point {
  constructor(private x: number, private y: number) {}
}

泛型

function identity(arg: T): T { return arg; }
let output = identity("myString");

枚举

enum ResourceType { BOOK, FILE, FILM }
let r: ResourceType = ResourceType.BOOK;

类型断言/类型转换

let someVal: unknown = "Hello";
let strLength: number = (someVal as string).length;

模块

// 导出
export function foo() {}
// 导入
import { foo } from "./module";

高级类型

  • 交集类型:
    type A = { a: number }; type B = { b: number };
    type AB = A & B; // { a: number, b: number }
    
  • 条件类型:
    type IsString = T extends string ? true : false;
    
  • 映射类型:
    type Readonly = { readonly [P in keyof T]: T[P]; }
    
  • 模板字面量类型:
    type EventName = `on${Capitalize}`;
    

有用的实用类型

Partial, Required, Readonly, Pick, Omit, Record

类型收窄

  • 使用 typeofinstanceof 进行类型收窄:
function padLeft(value: string, padding: string | number) {
  if (typeof padding === "number") {
    return Array(padding + 1).join(" ") + value;
  }
  return padding + value;
}

此总结提供了大多数 TypeScript 开发工作流程中必不可少的核心语法和功能。

有用的链接