簡體   English   中英

TypeScript 如何根據我提供的論點使我的 function 通用?

[英]TypeScript how can I make my function generic based on the argument I provide?

我想寫通用 function 接受通用參數,例如Data<string, number>

這是代碼:

interface Data<T,R> {
    a:T;
    c:R;
}

function foo(
  data: Data<string, number>
){
 return test(data)
}

//this func should be generic
function test<?, T extends Data<?, ?>>(
  data: T,
): T {
  return data
}

有任何想法嗎?

你在這里 go:

interface Data<T,R> {
    a:T;
    c:R;
}

function foo(
  data: Data<string, number>
){
 return test(data)
}

//this func should be generic
function test<T,R>(
  data: Data<T,R>,
): Data<T,R> {
  return data
}

https://www.typescriptlang.org/play?ts=4.5.4#code/FASwdgLgpgTgZgQwMZQAQBEEQQHgCoA0ASgHyoDewq1qCAXHgNxU1J1HMC+wPcArmCQQQAezCo4IkQAoWAEyz0MinAGcIMcAHMCqMHwC2AI1glgASkqoYUCHxjjo66Quzng3HsH6DhY1E4Q+LqkstSuSpjYwaQEFnTK0YSkFCxIYqoiADZQAHRZIlouiu7UNnYOqBE8nt5SYRT0AOSBTbpsAEzc5kA

暫無
暫無

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

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