📜  TypeScript 和 JavaScript 的区别(1)

📅  最后修改于: 2023-12-03 15:35:24.388000             🧑  作者: Mango

TypeScript 和 JavaScript 的区别

TypeScript 是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个超集,意味着所有的 JavaScript 代码都可以在 TypeScript 中运行。TypeScript 通过添加静态类型和其他功能来扩展 JavaScript 的能力。

以下是 TypeScript 和 JavaScript 之间的主要区别:

1. 静态类型

TypeScript 是一种静态类型语言,这意味着在编译时就可以发现错误,而 JavaScript 是一种动态类型语言,这意味着在运行时才能发现错误。静态类型可以使代码更易于维护,因为它可以提供更好的代码补全和检查器功能。

以下是 TypeScript 的一个示例代码片段,展示了如何在 TypeScript 中使用静态类型:

function add(a: number, b: number): number {
  return a + b;
}

console.log(add(1, 2)); // 输出 3
console.log(add('1', '2')); // 抛出类型错误
2. 类型注解

TypeScript 支持类型注解,这可以使开发人员在声明变量时指定其类型。这有助于确保代码的正确性和类型安全。

以下是 TypeScript 的一个示例代码片段,展示了如何使用类型注解:

let name: string = 'John';
let age: number = 30;
let isApproved: boolean = true;
3. 接口和类

TypeScript 支持接口和类的概念。这使得代码更加模块化和可维护。接口可用于定义一组规则,以确保类的实现符合特定的要求。

以下是 TypeScript 的一个示例代码片段,展示了如何使用接口和类:

interface ICar {
  name: string;
  price: number;
  start(): void;
  stop(): void;
}

class Car implements ICar {
  name: string;
  price: number;

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

  start() {
    console.log(`${this.name} has started.`);
  }

  stop() {
    console.log(`${this.name} has stopped.`);
  }
}

const car = new Car('Mercedes', 10000);
car.start();
car.stop();
4. 编译时类型检查

TypeScript 可以在编译时检查类型,以确保代码的正确性。这可以避免在运行时遇到类型错误,并有助于提高代码的可靠性和稳定性。

以下是 TypeScript 的一个示例代码片段,展示了如何使用编译时类型检查:

function add(a: number, b: number): number {
  return a + b;
}

console.log(add('1', '2')); // 抛出类型错误
5. 转换成 JavaScript

TypeScript 可以通过编译器将 TypeScript 代码转换为 JavaScript 代码,以便在浏览器中运行。这意味着您可以在 TypeScript 中编写代码,并在运行时使用 JavaScript。

以下是 TypeScript 的一个示例代码片段,展示了如何将 TypeScript 代码转换为 JavaScript 代码:

# 安装 TypeScript 编译器
npm install -g typescript

# 编译 TypeScript 代码
tsc file.ts

以上是 TypeScript 和 JavaScript 之间的一些主要区别。无论您是新手还是有经验的开发人员,了解这些区别都可以帮助您更好地编写和维护代码。