面试题答案
一键面试function getProductPreview(product: Product): ProductPreview {
const { id, name, price } = product;
return { id, name, price };
}
类型检查方面,在 TypeScript 中,函数参数的类型定义 product: Product
就已经确保了传入的参数必须是 Product
类型,这样就能保证输入的正确性。如果传入的参数不符合 Product
类型定义,TypeScript 编译器会在编译阶段报错。
例如:
const product: Product = {
id: 1,
name: 'example',
price: 10.5,
description: 'desc'
};
const preview = getProductPreview(product);
console.log(preview);
上述代码中,若尝试传入不符合 Product
类型的对象给 getProductPreview
函数,TypeScript 编译器会指出错误。如:
// 以下代码会报错,因为缺少 'description' 字段
const wrongProduct = {
id: 1,
name: 'example',
price: 10.5
};
const wrongPreview = getProductPreview(wrongProduct);