从未在打字稿

时间:2017-07-12 12:45:44

标签: typescript

我刚开始使用打字稿并阅读类型从不。但我没有得到它的实际目的。来自this

我知道,任何不会执行或无法访问的代码都标记为never

// Type () => never
const sing = function() {
    while (true) {
        console.log("Never gonna give you up");
        console.log("Never gonna let you down");
        console.log("Never gonna run around and desert you");
        console.log("Never gonna make you cry");
        console.log("Never gonna say goodbye");
        console.log("Never gonna tell a lie and hurt you");
    }
};

上面代码中的函数有一个无限循环,因此将被标记为never,这有什么好处?

1 个答案:

答案 0 :(得分:5)

对于您的示例,好处是保证您不会从函数中创建转义。

尝试明确设置never返回类型。

const sing = function():never {
    while (true) {
        console.log("Never gonna give you up");
        console.log("Never gonna let you down");
        console.log("Never gonna run around and desert you");
        console.log("Never gonna make you cry");
        console.log("Never gonna say goodbye");
        console.log("Never gonna tell a lie and hurt you");

        break; // Error
    }
};