簡體   English   中英

如何在修飾函數中使用 Typescript Generics

[英]How to use Typescript Generics in modifier functions

我正在尋找一種正確強類型以下情況的方法,我懷疑在這種情況下我需要使用 Typescript Generics。

interface Person {
  name: string;
  age: number;
}

const person: Person = {
  name: "John",
  age: 30,
};

const alterPerson = (key: keyof Person, val) => {
  person[key] = val;
}

我的意圖是 function 'alterPerson' 知道它只能將 Person 鍵作為其第一個參數,然后,一旦它使用了一個鍵,我希望 function 知道可以為該鍵分配什么類型的值。

你能告訴我如何做到這一點。 謝謝!

alterPerson仍然直接耦合到person變量。 為了使 generics 真正可重用,您還需要將該變量作為 function 參數傳遞。

const alterObject = <T>(object: T, key: keyof T, val: T[keyof T]) => {
  object[key] = val;
}

暫無
暫無

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

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