xszi / docs

持续更新...
https://xszi.github.io/docs/
3 stars 0 forks source link

【TS】声明自己使用泛型的类型 #107

Open xszi opened 1 year ago

xszi commented 1 year ago
你可以声明自己使用泛型的类型:

interface Backpack<Type> {
  add: (obj: Type) => void;
  get: () => Type;
}

// 这一行是一个简写,可以告诉 TypeScript 有一个常量,叫做`backpack`,并且不用担心它是从哪
// 里来的。
declare const backpack: Backpack<string>;

// 对象是一个字符串,因为我们在上面声明了它作为 Backpack 的变量部分。
const object = backpack.get();

// 因为 backpack 变量是一个字符串,不能将数字传递给 add 函数。
backpack.add(23);
// Argument of type 'number' is not assignable to parameter of type 'string'.
xszi commented 1 year ago

注意:如果你在构建工具中配置了路径解析别名,例如 @/* 这个别名被默认配置在了 create-vue 项目中,你需要通过 compilerOptions.paths 选项为 TypeScript 再配置一遍。

xszi commented 1 year ago

TS和组合式API