TypeScript极速梳理


4.4. never

<p><code>never</code> 的含义是:任何值都不是,简⾔之就是不能有值, <code>undefined</code> 、 <code>null</code> 、 <code>''</code> 、 <code>0</code> 都不行! 1.几乎不用·never· 去直接限制变量,因为没有意义,例如:</p> <pre><code>/* 指定a的类型为never,那就意味着a以后不能存任何的数据了 */ let a: never // 以下对a的所有赋值都会有警告 a = 1 a = true a = undefined a = null</code></pre> <p>2.<code>never</code> ⼀般是 <code>TypeScript</code> 主动推断出来的,例如:</p> <pre><code>// 指定a的类型为string let a: string // 给a设置⼀个值 a = 'hello' if(typeof a === 'string'){ a.toUpperCase() }else{ console.log(a) // TypeScript会推断出此处的a是never,因为没有任何⼀个值符合此处的逻辑 }</code></pre> <p>3.<code>never</code> 也可⽤于限制函数的返回值</p> <pre><code>// 限制demo函数不需要有任何返回值,任何值都不⾏,像undeifned、null都不⾏ function demo():never{ throw new Error('程序异常退出') }</code></pre>

页面列表

ITEM_HTML