双重断言

interface Cat {
    run(): void;
}
interface Fish {
    swim(): void;
}

function testCat(cat: Cat) {
    return (cat as any as Fish);
}

在上面的例子中,若直接使用 cat as Fish 肯定会报错,因为 Cat 和 Fish 互相都不兼容。

除非迫不得已,千万别用双重断言。

posted @ 2020-12-13 10:34  小翔momo  阅读(197)  评论(0编辑  收藏  举报