代码拉取完成,页面将自动刷新
同步操作将从 韩旭明/grammarLearning 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
/**
* 联合类型,使用 | 关键字:
* 联合类型 表示 取值 可以为 多种类型 的一种
* 即代表了一组类型的可用集合,只要 最终赋值的类型 属于 联合类型 的成员之一,就可以认为符合这个联合类型,
* 联合类型对其成员并没有任何限制,除了对同一类型字面量的联合,还可以将各种类型混合到一起
*
* 需要注意的是:
* 对于联合类型中的函数类型,需要使用括号()包裹起来
* 函数类型并不存在字面量类型,因此这里的 (() => {}) 就是一个合法的函数类型
* 同时可以在联合类型中进一步嵌套联合类型,但这些嵌套的联合类型最终都会被展平到第一级中
*
* 联合类型的常用场景之一是通过多个对象类型的联合,来实现手动的互斥属性,
* 即这一属性如果有字段1,那就没有字段2
* */
//类型标注 中使用 联合类型: string | number
let myFavoriteNumber: string | number = 'two';
let myFavoriteNumberA: string | number = 2;
//接口中使用联合类型:true | string | 599 | {} | (() => {}) | (1 | 2)
interface Tmp {
mixed: true | string | 599 | {} | (() => {}) | (1 | 2)
}
//联合类型:通过多个对象类型的联合,来实现手动的互斥属性
interface Tmp1 {
user:
{
vip: true;
expires: string;
}
| {
vip: false;
promotion: string;
};
}
declare var tmp: Tmp1;
if (tmp.user.vip) {
console.log(tmp.user.expires);
}
//export {}:解决“无法重新声明块范围变量”错误提示问题
export { }
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。