interface MyObject {
prop1: string | number;
prop2: { subProp: string | number };
}
function handleMyObject(obj: MyObject) {
const { prop1, prop2: { subProp } } = obj;
if (typeof prop1 ==='string') {
console.log(prop1.toUpperCase());
} else if (typeof prop1 === 'number') {
console.log(prop1 ** 3);
}
if (typeof subProp ==='string') {
console.log(subProp.toUpperCase());
} else if (typeof subProp === 'number') {
console.log(subProp ** 3);
}
}
// 测试
const obj1: MyObject = {
prop1: 'hello',
prop2: { subProp: 5 }
};
handleMyObject(obj1);