TypeScript in操作符缩小

TypeScript in操作符缩小

语法:

"valuse" in x

实例:

type Fish = { swim: () => void }
type Bird = { fly: () => void }
type Human = { swim?: () => void; fly?: () => void }

type Animal = Fish | Bird | Human

function move(animal: Animal) {
    if ("swim" in animal) {
        // animal: Fish | Human
        return (animal as Fish).swim();
    }
    return (animal as Bird).fly();
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容