TypeScript: 数据类型/type/interface
leslie1943 opened this issue · comments
TypeScript 和 JavaScript
- TypeScript 是JavaScript的超集
- TypeScript 在JavaScript的基础上添加类型系统以及完全的支持ES6+语法
- Angular, Vue3.0将直接支持TypeScript
- TypeScript 需要编译,JavaScript基本直接被浏览器解析执行
TypeScript 你都用过哪些类型
- 基本类型,数组类型,函数类型
- 元组类型
- 枚举类型
TypeScript 中type和interface的区别
- 都允许拓展
// interface
interface Name {
name: string;
}
interface User extends Name {
age: number;
}
// type
type Name = {
name: string;
}
type User = Name & { age: number };
// interface 扩展 type
type Name = {
name: string;
}
interface User extends Name {
age: number;
}
// type 扩展 interface
interface Name {
name: string;
}
type User = Name & {
age: number;
}
- type 可以声明基本类型别名,联合类型,元组等类型, interface只能描述一个对象或者函数
- type 语句中还可以使用 typeof 获取实例的 类型进行赋值
- interface 能够声明合并, type 不行
interface User {
name: string
age: number
}
interface User {
sex: string
}