面试题答案
一键面试- 定义配置对象类型:
type AnimationConfig = { start: { x: number; y: number; }; end: { x: number; y: number; }; easingFunction: string; };
- 编写接收配置对象的函数:
function animate(config: AnimationConfig) { console.log(`Starting animation from (${config.start.x}, ${config.start.y}) to (${config.end.x}, ${config.end.y}) with ease function ${config.easingFunction}`); }
- 类型检查和增强类型安全性的阐述:
- 类型定义明确:通过
type
关键字定义AnimationConfig
类型,明确了对象的结构,使得对象属性的类型一目了然。在函数参数中使用该类型,TypeScript 编译器就会进行静态类型检查,确保传入的对象符合定义的结构。 - 避免运行时错误:在函数内部,由于参数
config
已经被明确为AnimationConfig
类型,对config
属性的访问都是类型安全的。如果尝试访问不存在的属性,TypeScript 编译器会报错,这避免了在运行时因为访问不存在的属性而导致的错误。 - 代码可维护性增强:明确的类型定义使得代码更易于理解和维护。当其他人阅读或修改代码时,可以清楚地知道
AnimationConfig
对象应该具备哪些属性以及属性的类型,降低了理解和修改代码的难度。
- 类型定义明确:通过