MST

星途 面试题库

面试题:TypeScript 中 Partial 与 Readonly 映射类型的基础应用

请用 TypeScript 实现一个函数,该函数接收一个包含 'name'(字符串类型)和 'age'(数字类型)属性的对象,使用 Partial 映射类型使得函数可以接收部分属性的对象,并打印出接收到的对象。同时,使用 Readonly 映射类型定义一个只读对象类型,并创建一个该类型的实例,展示如何对只读对象的属性进行访问和修改(若不能修改需说明原因)。
14.7万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
// 使用Partial映射类型使得函数可以接收部分属性的对象
function printPartialObject(obj: Partial<{ name: string; age: number }>) {
    console.log(obj);
}

// 使用Readonly映射类型定义一个只读对象类型
type ReadonlyPerson = Readonly<{ name: string; age: number }>;

// 创建一个该类型的实例
const readonlyPerson: ReadonlyPerson = { name: 'John', age: 30 };

// 访问只读对象的属性
console.log(readonlyPerson.name);
console.log(readonlyPerson.age);

// 尝试修改只读对象的属性,这会导致编译错误
// readonlyPerson.name = 'Jane'; // 报错:无法分配到 "name" ,因为它是只读属性。
// readonlyPerson.age = 31; // 报错:无法分配到 "age" ,因为它是只读属性。

打印部分属性对象调用示例:

printPartialObject({ name: 'Alice' });
printPartialObject({ age: 25 });
printPartialObject({ name: 'Bob', age: 28 });