Skip to content

第一题 #91

@sansan-mei

Description

@sansan-mei

因为t并不等于User,t是User的子类,所以t可能会有更多的属性,而这只是返回了User,可以这样修改👇

type User = {
  id: number;
  kind: string;
};
function makeCustomer<T extends User>(u: T):User  {
  return {
    id: u.id,
    kind: 'customer'
  }
}

function makeCustomer<T extends User>(u: T):T  {
  return {
    ...u,// 这里u拥有T的全部属性,返回T的扩展也是可以的
    id: u.id,
    kind: 'customer'
  }
}


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions