typescript 类型别名与类型断言

//type aliases

type PlusType = (x: number, y: number) => number;

function sum(x: number, y: number): number {
return x + y;
}

const sum2: PlusType = sum;

type NameResolver = () => string;
type NameOrResolver = string | NameResolver;

function getName(n: NameOrResolver): string {
if (typeof n === "string") {
return n;
} else {
return n();
}
}

//type assertion

function getLength(input: string | number): number {
// const str = input as String;
// if (str.length) {
// return str.length;
// } else {
// const number = input as Number;
// return number.toString().length;
// }

if ((<string>input).length) {
return (<string>input).length;
} else {
return input.toString().length;
}
}
posted @ 2022-10-09 15:22  yurro  阅读(37)  评论(0)    收藏  举报