为什么要使用 TypeScript ? TypeScript 相对于 JavaScript 的优势是什么?

增加了静态类型,可以在开发人员编写脚本时检测错误,使得代码质量更好,更健壮。

优势:

  1. 杜绝手误导致的变量名写错
  2. 类型可以一定程度上充当文档
  3. IDE自动填充,自动联想

type 和 interface 的区别

interface iMan {
  name: string;
  age: number;
}
// 接口可以进行声明合并
interface iMan {
  hobby: string;
}

type tMan = {
  name: string;
  age: number;
};
// type不能重复定义
// type tMan = {}

// 继承方式不同, 接口继承使用 extends
interface iManPlus extends iMan {
  height: string;
}
// type继承使用&,又称交叉类型
type tManPlus = { height: string } & tMan;

const aMan: iManPlus = {
  name: "aa",
  age: 15,
  height: "175cm",
  hobby: "eat",
};

const bMan: tManPlus = {
  name: "bb",
  age: 15,
  height: "150cm",
};

any、unkonwn、never 区别

TypeScript 中 any、never、unknown、null & undefined 和 void 有什么区别?