Skip to content

TypeScript 系列 ​

TypeScript 中 const 和 readonly 的区别?枚举和常量枚举的区别? ​

  • const 和 readonly 的区别

    1. const 用于变量, readonly 用于属性
    2. const 在运行时检查, readonly 在编译时检查
    3. const 一旦声明变量,就必须立即初始化
    4. const 保证的是变量指向的那个内存地址不得改动,例如使用 const 变量保存的数组,可以使用 push,pop 等方法。但是如果使用 ReadonlyArray<number> 声明的数组不能使用 push ,pop 等方法
  • 枚举和常量枚举的区别

    1. 枚举会被编译时会编译成一个对象,可以被当作对象使用
    2. const 枚举会在 typescript 编译期间被删除,生成的 JavaScript 文件中不会存在枚举类型,所有的枚举成员都会被替换为它们的实际值 (常量枚举 会有更好的性能)

TypeScript 中 any、unknown 有什么区别? ​

  • 相同点:可以为 any, unknown 类型变量分配任何值
  • 不同点:使用 unknown 变量时,TypeScript 会强制执行类型检查

对 TypeScript 类中成员的 public、private、protected、readonly 修饰符的理解? ​

  1. public: 成员都默认为 public,被此限定符修饰的成员是可以被外部访问;
  2. private: 被此限定符修饰的成员是只可以被类的内部访问;
  3. protected: 被此限定符修饰的成员是只可以被类的内部以及类的子类访问;
  4. readonly: 关键字将属性设置为只读的。 只读属性必须在声明时或构造函数里被初始化。

TypeScript 的类型工具? ​

  • Exclude<T, K>: 用来从联合类型 T 里面,删除某些类型 K

  • Extract<T, K>: 用来从联合类型 T 之中,提取指定类型 K

  • Omit<Type, Keys>: 用来从对象类型 Type 中,删除指定的属性 Keys

  • Pick<Type, Keys>: 用来从对象类型 Type 中,选定指定的属性 Keys

  • Partial<Type>: 将参数类型 Type 的所有属性变为可选属性

  • Required<Type>: 将参数类型 Type 的所有属性变为必选属

TypeScript 中 type 和 interface 的区别? ​

  • 相同点:

    • 都可以描述 '对象' 或者 '函数'
    • 都允许拓展(extends)
  • 不同点:

    • type 可以声明基本类型,联合类型,元组
    • type 可以使用 typeof 获取实例的类型进行赋值
    • 多个相同的 interface 声明可以自动合并

TypeScript 函数声明写法 ​

说说你对 TypeScript 的理解?与 JavaScript 的区别? ​

说说 Typescript 的数据类型有哪些? ​

说说你对 TypeScript 中枚举类型的理解?应用场景? ​

说说你对 TypeScript 中接口的理解?应用场景? ​

说说你对 TypeScript 中类的理解?应用场景? ​

说说你对 TypeScript 中函数的理解?与 JavaScript 函数的区别? ​

说说你对 TypeScript 中泛型的理解?应用场景? ​

说说你对 TypeScript 中高级类型的理解?有哪些? ​

说说你对 TypeScript 装饰器的理解?应用场景? ​

说说对 TypeScript 中命名空间与模块的理解?区别? ​

说说如何在 React 项目中应用 TypeScript? ​

说说如何在 Vue 项目中应用 TypeScript? ​

Released under the MIT License.