返回

TypeScript 编程内参:约束即类型,展开思考

前端

类型,一种变量的约束

理解类型,首先要理解的是变量的值。变量的值可以是字符串、数字、布尔值、数组、对象等等。在 TypeScript 中,我们可以使用类型来约束变量的值。例如,我们可以使用 string 类型来约束变量只能存储字符串值。

基础类型

TypeScript 中有五种基本类型:

  • string:字符串类型,用于存储文本数据。
  • number:数字类型,用于存储数字数据。
  • boolean:布尔类型,用于存储 true 或 false 值。
  • array:数组类型,用于存储一组数据。
  • object:对象类型,用于存储一组键值对。

函数

函数是 TypeScript 中另一个重要的概念。函数可以让我们将代码组织成更小的单元,以便重用。函数由函数名、参数列表和函数体组成。

类是 TypeScript 中用于创建对象的蓝图。类可以包含属性和方法。属性是类的成员变量,方法是类的成员函数。

接口

接口是 TypeScript 中用于定义对象形状的工具。接口可以包含属性和方法的声明,但不能包含实现。

泛型

泛型是 TypeScript 中一种非常强大的特性。泛型允许我们创建可重用的组件,这些组件可以在不同的类型上工作。

总结

TypeScript 是一种功能强大的语言,可以帮助您编写更健壮和可维护的代码。它对 JavaScript 进行了扩展,使其支持类型检查。如果您想了解更多关于 TypeScript 的内容,请继续关注本系列文章。

示例

// 变量
let name: string = "John Doe";
let age: number = 30;
let isMarried: boolean = true;

// 数组
let numbers: number[] = [1, 2, 3, 4, 5];
let strings: string[] = ["a", "b", "c", "d", "e"];

// 对象
let person: { name: string; age: number; } = {
  name: "John Doe",
  age: 30
};

// 函数
function greet(name: string): string {
  return `Hello, ${name}!`;
}

// 类
class Person {
  name: string;
  age: number;

  constructor(name: string, age: number) {
    this.name = name;
    this.age = age;
  }

  greet(): string {
    return `Hello, my name is ${this.name} and I am ${this.age} years old.`;
  }
}

// 接口
interface Person {
  name: string;
  age: number;

  greet(): string;
}

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

// 使用泛型
let number: number = identity<number>(1);
let string: string = identity<string>("Hello, world!");