您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Typescript交叉类型出现never的场景?

Typescript交叉类型出现never的场景?

示例1 中交叉类型结果为never,是为啥呢?

// 示例1
type DataTypeNever = {
  d: true;
  e: number;
} & {
  d: false;
  e: number;
}

let data: DataTypeNever = (() => {
  throw new Error
})()

示例2 中交叉类型结果为{ d: false, e: never },为何和示例1不同呢?

// 示例2
type DataType = {
  d: false;
  e: number;
} & {
  d: false;
  e: string;
}

let data: DataType = {
    d: false,
    e: (() => {
      throw new Error
    })()
}
typescript 2022/2/19 17:46:01 有555人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶