// 定义数组联合类型
type ArrayElement = string | { id: number; value: string };
type MyArray = ArrayElement[];
// 定义遍历打印函数
function printArrayElements(arr: MyArray) {
arr.forEach(element => {
if (typeof element ==='string') {
console.log(element);
} else {
console.log(`id: ${element.id}, value: ${element.value}`);
}
});
}
// 定义交叉类型
interface HasLength {
length: number;
}
interface HasToString {
toString(): string;
}
type CombinedType = HasLength & HasToString;
// 创建符合交叉类型的变量并进行操作展示
const myVar: CombinedType = {
length: 5,
toString() {
return `Length is ${this.length}`;
}
};
console.log(myVar.toString());
// 测试数组函数
const testArray: MyArray = ['string element', { id: 1, value: 'object value' }];
printArrayElements(testArray);