TypeScript

TypeScript 是一种编程语言,它为 JavaScript 添加了静态类型检查

TypeScript 是 JavaScript 的超集,这意味着 JavaScript 中可用的所有内容在 TypeScript 中也可用,并且每个 JavaScript 程序在语法上都是合法的 TypeScript 程序。此外,TypeScript 和 JavaScript 的运行时行为是相同的。

然而,TypeScript 会添加编译时类型检查,执行关于不同类型如何使用和组合的规则。这可以捕获 JavaScript 中仅在运行时才会遇到的各种编程错误。

一些类型规则是从 JavaScript 推断出来的。例如,在下面的代码中,TypeScript 推断 myVariable 是一个字符串,并且不允许将其重新分配给其他类型。

js
let myVariable = "Hello World";
myVariable = 1;
// Error:
// Type 'number' is not assignable to type 'string'.

TypeScript 还允许程序员注解他们的代码,例如,指示函数的参数类型或对象的属性类型。

ts
function add(left: number, right: number): number {
  return left + right;
}

add("hello", "world");
// Error:
// Argument of type 'string' is not assignable to parameter of type 'number'.

编译后,类型注解会被移除,编译后的输出就是 JavaScript,这意味着它可以在任何 JavaScript 运行时中执行。

另见