问题标签 [typescript-class]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
45 浏览

typescript - 泛型类的可选方法参数的类型

我想知道是否有一种方法可以声明具有默认泛型类型的泛型类:

  1. 默认情况下允许调用类的方法而不传递参数
  2. 如果定义了另一个泛型类型,则只有在传递泛型类型的参数时才能调用该方法。

伪代码

0 投票
2 回答
136 浏览

typescript - 有没有一种优雅的方法可以只设置一次类属性?

在 TypeScript 中,在一个类中,是否有一种优雅的方法可以只设置一次值?换句话说,是否有相当于readonly在给它一个值之后设置一个值?

例如:

我不是在寻找吸气剂,因为类属性可以在类本身内更改。

0 投票
1 回答
166 浏览

typescript - 如何使用 ts 在 vue3 中将 ref 数据定义为类类型

我想使用 ref 创建一个类。它可以用作可以被调用的类实例.

在我的 ts 文件中

在我的 vue3 文件中

但它不起作用 在此处输入图像描述

0 投票
1 回答
20 浏览

typescript - 从类中动态读取值导致打字稿错误

我是新手,在我的项目中学习 Typescript 和并行实现。我有一类用打字稿写的如下:

现在tsc命令给出了以下错误,这对我来说不太容易理解。请帮忙。

0 投票
2 回答
42 浏览

typescript - 将静态属性的类型设置为实例类型的数组

我有一个类Foo,它有一个静态instances属性,其中包含对所有创建实例的引用。然后,我有一个类Bar扩展Foo

但是,类型Bar.instancesFoo[],而不是Bar[],这会导致以下错误:

我尝试使用InstanceType<this>的类型instances,但它仍然无法正常工作:

看起来我的问题与TypeScript repo 中关于多态“this”的问题有关。这是真的吗,我想做的事情目前是不可能的,或者我错过了什么?

游乐场链接在这里

0 投票
1 回答
38 浏览

typescript - 条件语句中类型推断的 TS 错误,当条件使用函数调用的结果而不是布尔表达式时

我有以下用于链接列表类的 TypeScript 类,一切正常。

现在我想创建一个辅助函数 isEmpty() 来检查链接列表是否为空,如下所示。

然后改变 addLast() 函数如下

但这会导致错误,这是有道理的,因为现在我猜 TS 不知道我的条件的实现,只知道结果并且不知道 this.tail 或 this.head 在 else 语句中不能再为 null。有没有办法解决。我可以在没有 tsc 抱怨的情况下以某种方式使用我的助手。我想也许使用某种类型的守卫,但想不出什么。我还是 TS 的新手,这可能吗,我是否遗漏了一些明显可以做的事情?或者助手不是一个可行的选择?

0 投票
0 回答
52 浏览

typescript - 在类成员和方法中扩展泛型类型

我不太确定这个实现,我可以清楚地理解这个问题,但我不确定正确的语法。private db: Map<string, any>有效,但这不是要走的路。

0 投票
0 回答
32 浏览

typescript - 记录中的打字稿保存类?

当我尝试使用 Typescript 将 abastarct 类值赋予 Record 时似乎存在问题。

错误 typeof RangeDayMoveStrategy' is missing the following properties from type 'PurchaseBundleMoveStrategy': purchaseBundle, move

上面的错误告诉我什么?
以及如何将我的课程保存在 Record 中?

---添加 BuyPageType 只是一个枚举

0 投票
1 回答
25 浏览

typescript - Typescript`super`实现不提供值

我正在尝试打印namefromextended类。但得到一个错误:Property 'name' does not exist on type 'Employee'.

现场演示

0 投票
1 回答
41 浏览

typescript - 如何在 Typescript 中正确扩展泛型类?

我创建了一个类:

这个类有以下方法:

我试图用一个只有一个泛型的类来扩展这个类,如下所示:

但是一旦我尝试打电话:

我得到错误:

我理解这个错误是由于将第二个泛型设置为keyof T而不是类似的东西引起的,K extends keyof T但是是否可以只为包装类使用一个泛型以避免重复?