在TypeScript如何使用函数来做类型保护?

type Node = {
    value: Value;
    next: Node
} | null;function output(n: Node) {    function isEmpty() {        return n === null;
    }    // 改为 n === null 则下面警告不会出现
    if (isEmpty()) {        console.log('empty');
    } else {        // 提示n有可能是null
        n.next = {value: 'yo', next: null};
    }
}

这只是一个简单的例子,但是很多时候我们会在isEmpty里面写很多逻辑,但是这些逻辑通常会避免n === null,所以else里面的语言应该是会通过的。这要怎么修改呢?


桃花长相依
浏览 408回答 1
1回答

慕雪6442864

function isEmpty(n: Node): n is null {        return n === null;     }    // 改为 n === null 则下面警告不会出现     if (isEmpty(n)) {         console.log('empty');     }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5