MST

星途 面试题库

面试题:TypeScript接口的基本使用与类型检查

请用TypeScript定义一个接口`User`,包含属性`name`(字符串类型)、`age`(数字类型)和`email`(字符串类型且需符合邮箱格式)。然后创建一个函数`printUser`,接收一个符合`User`接口的对象作为参数,并在函数内部打印出该用户的信息。同时,解释一下TypeScript接口是如何进行类型检查的。
38.7万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
// 定义User接口
interface User {
  name: string;
  age: number;
  email: string;
}

// 创建printUser函数
function printUser(user: User) {
  console.log(`Name: ${user.name}, Age: ${user.age}, Email: ${user.email}`);
}

// 示例使用
const myUser: User = {
  name: "John Doe",
  age: 30,
  email: "johndoe@example.com"
};
printUser(myUser);

TypeScript接口类型检查机制:

  1. 结构类型系统:TypeScript采用结构类型系统,接口的类型检查关注对象的结构而非声明的类型名称。只要对象具有接口中定义的属性,且属性类型匹配,就认为该对象符合接口类型。例如,即使两个对象来自不同的类,只要它们的结构与接口匹配,就都可以赋值给该接口类型的变量。
  2. 属性检查:接口定义了一组属性及其类型,TypeScript在编译时会检查传递给函数或赋值给接口类型变量的对象是否包含接口中定义的所有属性,并且这些属性的类型是否与接口中定义的类型一致。如果缺少某个属性或属性类型不匹配,就会报类型错误。
  3. 可选属性和只读属性:接口可以定义可选属性(属性名后加?)和只读属性(属性名前加readonly)。可选属性在对象中可以不存在,只读属性一旦初始化就不能再被重新赋值,TypeScript同样会对这些特殊属性进行相应的类型检查。