Typescript面试题

简述typescript

简称ts,是js的一个超集,也是带有类型检测的js,拓展了js语法。

优点:程序更容易理解;减少错误(编译期间排除常见错误);包容性强(兼容js)。

特点:跨平台;面向对象(类、接口、枚举);类型检测。

 

ts的数据类型

js的类型外,还包含enum(枚举)、any(任意值)、void(表示无,常用于表示无返回值的函数)

 

ts中的类、接口、枚举、模块

类(class):是自定义的引用数据类型,简称类。

接口(interface):描述一个对象的属性和方法,是个集合。

枚举(enum):对象所有可能取值的集合。

模块:ts中的模块与js相似,import导入、export导出

 

泛型

是一种特性,允许定义函数、类、接口等数据结构时,可使用类型参数的占位符,从而增加代码灵活性和复用性。

优点:增加灵活性、类型安全、可读性和可维护性。

应用场景:创建可复用的组件或函数、处理不确定的数据类型、操作不同类型的集合、函数参数类型检测等等。

 

interface、type

相似之处:

两者都可用来描述object和function;

两者都可以被继承。

不同之处:

type可定义基本类型,而interface不行;

type可声明联合类型(列子:string|number);

interface有声明合并(多次声明同一个接口,ts会将其合并到一个声明中),而type不会。

 

keyof、typeof

keyof用于获取对象类型的键的并集;

typeof用于获取值的类型。

 

posted @ 2024-11-14 21:08  一杯龙井解千愁  阅读(83)  评论(0)    收藏  举报