簡體   English   中英

打字稿鍵入已知的密鑰和未知的密鑰

[英]Typescript typing for known keys and unknown keys

我想聲明一個至少具有一些必需鍵的對象,而該對象也可能包含任何其他鍵。

例如,目標student必須具有鍵namegender ,並且其他任何鍵都是可接受的。 如何聲明類型?

let student:{name:string, gender:string, ???};

//these must be valid
student = {
    name:'Goku',
    gender:'male',
    power:'Super Saiyan'
}

student = {
    name:'Pikachu',
    gender:'unknown',
    body:'yellow',
    shoeSize:20
}

我幾乎沒有找到與此相關的任何教程,這似乎很少見,請問這是一個不好的做法嗎? 又為什么呢?

let student: {
  name:string;
  gender:string;
  [key: string]: any;
};

// these are valid
student = {
  name: 'Goku',
  gender: 'male',
  power: 'Super Saiyan'
};

student = {
  name: 'Pikachu',
  gender: 'unknown',
  body: 'yellow',
  shoeSize: 20
};

// this is invalid
student = {
  body: 'yellow',
  shoeSize: 20
};

也許用名稱和性別聲明一個接口。 然后使您的類成為實現該接口的“ Any”的子類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM