6、TypeScript 中的泛型是什么?TypeScript Generics 是提供创建可重用组件的方法的工具 。它能够创建可以使用多种数据类型而不是单一数据类型的组件 。而且 , 它在不影响性能或生产率的情况下提供了类型安全性 。泛型允许我们创建泛型类 , 泛型函数 , 泛型方法和泛型接口 。
在泛型中 , 类型参数写在左括号(<)和右括号(>)之间 , 这使它成为强类型集合 。它使用一种特殊的类型变量来表示类型 。
function identity < T > (arg: T) : T {return arg;}let output1 = identity < string > ("edureka");let output2 = identity < number > (117);console.log(output1);console.log(output2);7、TypeScript 中 interface 和 type 的差别是什么?7.1、相同点
- 都可以描述一个对象或者函数
- 都允许拓展(extends)
// 1、interface extends interfaceinterface Name {name: string;}interface User extends Name {age: number;}// 2、type extends typetype Name = {name: string;}type User = Name & { age: number};// 3、interface extends typetype Name = {name: string;}interface User extends Name {age: number;}// 4、type extends interfaceinterface Name {name: string;}type User = Name & {age: number;}7.2、不同点
- type 可以而 interface 不行
// 基本类型别名type Name = string// 联合类型interface Dog {wong();}interface Cat {miao();}type Pet = Dog | Cat// 具体定义数组每个位置的类型type PetList = [Dog, Pet]type 语句中还可以使用 typeof 获取实例的 类型进行赋值
// 当你想获取一个变量的类型时 , 使用 typeoflet div = document.createElement('div');type B = typeof div其他骚操作
type StringOrNumber = string | number;type Text = string | { text: string };type NameLookup = Dictionary<string, Person>;type Callback<T> = (data: T) => void;type Pair<T> = [T, T];type Coordinates = Pair<number>;type Tree<T> = T | { left: Tree<T>, right: Tree<T> };
- interface 可以而 type 不行
interface User {name: stringage: number}interface User {sex: string}/*User 接口为 {name: stringage: numbersex: string}*/一般来说 , 如果不清楚什么时候用interface/type , 能用 interface 实现 , 就用 interface , 如果不能就用 type。
8、TypeScript 的主要特点是什么?
- 跨平台:TypeScript 编译器可以安装在任何操作系统上 , 包括 Windows、macOS 和 Linux 。
- ES6 特性:TypeScript 包含计划中的 ECMAScript 2015 (ES6) 的大部分特性 , 例如箭头函数 。
- 面向对象的语言:TypeScript 提供所有标准的 OOP 功能 , 如类、接口和模块 。
- 静态类型检查:TypeScript 使用静态类型并帮助在编译时进行类型检查 。因此 , 你可以在编写代码时发现编译时错误 , 而无需运行脚本 。
- 可选的静态类型:如果你习惯了 JavaScript 的动态类型 , TypeScript 还允许可选的静态类型 。
- DOM 操作:您可以使用 TypeScript 来操作 DOM 以添加或删除客户端网页元素 。
- void 表示没有任何类型(可以被赋值为 null 和 undefined) 。
经验总结扩展阅读
- 毛巾变黑一块黑一块的怎么办
- 爱得毫无底线的星座有哪些呢?
- 一个超经典 WinForm 卡死问题的再反思
- 鹌鹑蛋煮多久能熟
- 炸蜂蛹是冷油还是热油
- 2023年农历七月廿八乔迁吉日 2023年9月12日乔迁吉日一览表
- 炒梭子蟹几分钟熟
- 2023年9月12日入宅吉日一览表 2023年9月12日适合入宅吗
- 2023年9月12日祭祖好不好 2023年9月12日祭祖吉日一览表
- 2023年9月12日拜土地爷黄道吉日 2023年9月12日拜土地爷吉日一览表