首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用ts-TS2554,获取` `error :应为0个参数,但构造函数为1`

在 TypeScript 中,错误 TS2554 表示您在调用一个构造函数时传递了不正确数量的参数。具体来说,错误信息“应为 0 个参数,但构造函数为 1”意味着您尝试使用一个需要 0 个参数的构造函数,但您传递了 1 个参数。

解决方法

要解决这个问题,您需要检查以下几个方面:

  1. 检查构造函数定义: 确保您查看的类的构造函数确实是定义为不接受任何参数的。例如:

class MyClass { constructor() { // 不接受参数 } }

  1. 检查实例化代码: 确保在实例化该类时没有传递任何参数。例如:

const myInstance = new MyClass(); // 正确 // const myInstance = new MyClass(1); // 错误,传递了一个参数

  1. 检查类的继承: 如果您正在使用继承,确保父类的构造函数也符合参数要求。如果父类的构造函数需要参数,而子类的构造函数没有正确调用父类的构造函数,可能会导致此错误。
代码语言:javascript
复制
class Parent {
    constructor(param: number) {
        // 需要一个参数
    }
}

class Child extends Parent {
    constructor() {
        super(); // 错误,父类需要一个参数
    }
}

在这种情况下,您需要在子类的构造函数中传递参数给父类的构造函数:

class Child extends Parent { constructor() { super(0); // 正确,传递一个参数 } }

  1. 检查类型定义: 如果您使用的是接口或类型别名,确保它们的定义与您尝试使用的构造函数匹配。

示例

假设您有以下代码:

代码语言:javascript
复制
class MyClass {
    constructor() {
        console.log("MyClass instantiated");
    }
}

const instance = new MyClass(1); // TS2554: Expected 0 arguments, but got 1.

要修复此错误,您应该将实例化代码更改为:

代码语言:javascript
复制
const instance = new MyClass(); // 正确
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

.net 5.0 Options组件源码解析

接着NamedConfigureFromConfigurationOptions类型的构造函数,代码如下: [RequiresUnreferencedCode(OptionsBuilderConfigurationExtensions.TrimmingRequiredUnreferencedCodeMessage....注入时的Options名称也空.接着看OptionsFactory实例的构造函数,这里看IEnumerable> setups,这就是在Microsoft.Extensions.Options.ConfigurationExtensions...应为内容较多,这里不在详细介绍了.自行阅读源码. (4)、IOptions的问题 应为UnnamedOptionsManager的单例注入,且获取Value的代码如下: public TOptions...{ RegisterSource(source); } } } 查看构造函数的代码发现了...首先令牌生产者一直查看源码,发现其是ConfigurationRoot实例创建,如下: public IChangeToken GetReloadToken() => _changeToken; 接看着Root实例的构造函数

91510
  • 基于反射读电能表数据

    您可以使用 MethodInfo 对象获取有关对象所表示的方法的信息,以及调用方法。...Invoke(Object, Object[]) 使用指定参数调用由当前实例表示的方法或构造函数参数 obj Object 在其上调用方法或构造函数的对象。 如果方法是静态的,则忽略此参数。...如果构造函数是静态的,则此参数必须是 null 或定义构造函数的类的实例。 parameters Object[] 调用方法或构造函数参数列表。...此对象数组在数量、顺序和类型方面与要调用的方法或构造函数参数相同。 如果不存在任何参数,则 parameters 应为 null。...如果由此实例表示的方法或构造函数采用了 ref 参数(在 Visual Basic 中 ByRef),那么此参数不需要特殊属性来通过此函数调用此方法或构造函数

    58710

    2022DASCTF Apr X FATE warmup-php复现

    是要匹配的字符串,第一个参数是匹配规则,中间的函数是回调函数(调用类中的函数的时是可以是使用数组的调用形式的,如上述的 array($this,'renderSection') 就是表示调用当前类中的...render 开头,且无参数,还可以去调用 renderTableRow(row)函数从而有办法去执行 evaluateExpression 函数,所以可以构造 template="{TableBody...这里 data 参数应为一个数组可以构造 data=array(1)。...> 参数 action 要创建的对象,从上文分析可知所需改变的参数都在 TestView 这个类中,所以需要 new 一个TestView 对象,即 GET 传参 ?...action=TestView 构造函数使用for循环给 TestView 对象中的某些属性赋值,这里我们按照上文分析的那样给它赋值 注意这里传的参数是数组类型,传递数组的格式是 property[key

    1.1K20

    useTypescript-React Hooks和TypeScript完全指南

    event 事件对象,例如当使用鼠标事件时我们会通过 clientX、clientY 去获取指针的坐标。...event 对象去获取其 clientY 属性的值,在这里我们已经将 event 设置 any 类型,导致 TypeScript 在编译时并不会提示我们错误, 当我们通过 event.clientY...// 第二个参数是可选的,是一个数组,数组中存放的是第一个函数使用的某些副作用属性。...这个钩子函数有两个参数:第一个参数是一个内联回调函数,第二个参数是一个数组。数组将在回调函数中引用,并按它们在数组中的存在顺序进行访问。...当你需要从元素中提取值或获取与 DOM 相关的元素信息(例如其滚动位置)时,可以使用此方法。

    8.5K30

    JS 跨域问题常见的五种解决方式

    php // 接收数据 // $jsoncallback = $_GET["jsoncallback"]; // 构造数据 for($i=1; $i<=5; $i++...函数,并传递解析后json对象作为参数。...你可能会奇怪这一大串是什么,这其实是jq自动生成的一个函数名(也就是那个jsoncallback参数的值) 其实还有一种很常见的方式就是使用 $.getJson获取,直接给出一个网址 把$.ajax部分替换成...数据是存在的,实际情况中我们也不能这样跳来跳去,所以可以用隐藏的iframe来实现数据的获取 举个荔枝: 本地的数据提供方:http://localhost:8080/demoff/b.html 远程的数据需求方...要发送的消息,类型只能为字符串; 第二个参数targetOrigin用来限定接收消息的那个window对象所在的域,如果不想限定域,可以使用通配符 *  。

    1.5K00

    pinia核心笔记

    function' ... // useState 可接收一个pinia实例作为参数 // 如果设置参数pinia,将通过依赖注入获取全局默认pinia实例 pinia = (__TEST__...// 将执行函数绑定在store上下文中,支持 {getters: { fn(){ this.count++ } }} 模式 // 所以当使用箭头函数时不能使用this获取state...将getter包裹computed, 2.返回新的store定义,通过getter的包装过程,知道了为什么箭头函数不能使用this模式,主要应为箭头函数的this原定义上下文绑定,后期无法通过call函数绑定到...} } 执行流程 $onAction监听队列 -> action -> after任务队列 or error任务队列 应为onAction本身可以看作 beforeCallbackList,...部分属性遍历上是否可以用其他的方法 // 使用了 for in 遍历,将获取到原型上方法 for (const key in patchToApply) { if (!

    1K10

    设计规则

    然后,可以使用该集合来填充泛型集合类型。 CA1012:抽象类型不应具有构造函数 抽象类型的构造函数只能由派生类型调用。...由于公共构造函数用于创建类型的实例,但无法抽象类型创建实例,因此具有公共构造函数的抽象类在设计上是错误的。...CA1032:实现标准异常构造函数 如果不能提供完整的构造函数集,要正确处理异常将变得比较困难。...应使用 sealed 修饰符标记不希望被继承的类型,以免将其用作基类型。 CA1053:静态容器类型不应具有构造函数 公共或嵌套公共类型只声明了静态成员,具有公共或受保护的默认构造函数。...由于调用静态成员不需要类型的示例,因此没必要使用构造函数安全起见,字符串重载应使用字符串自变量调用统一资源标识符 (URI) 重载。

    2K20

    Python快速学习第九天--安装并操作Mysql数据库

    这个时候需要使用具有恰当名称的connect函数,该函数有多个参数,而具体使用哪个参数取决于数据库。...API定义了表13-3中的参数作为准则,推荐将这些参数作为关键字参数使用,并按表中给定的顺序传递它们。参数类型都应为字符串。...表13-3 connect函数的常用参数 参数名          描述          是否可选 dsn           数据源名称,给出该参数表示数据库依赖          否 user...13.1.4 类型 数据库对插入到具有某种类型的列中的值有不同的要求,是为了能正确地与基础SQL数据库进行交互操作,DB API定义了用于特殊类型和值的构造函数以及常量(单例模式)。...例如,如果想要在数据库中增加日期,它应该用相应的数据库连接模块的Date构造函数来建立。这样数据库连接模块就可以在幕后执行一些必要的转换操作。所有模块都要求实现表13-7中列出的构造函数和特殊值。

    1.3K80

    初学者Halcon编程的语法资料

    输入控制参数可以是表达式,图形参数、输出参数应为变量; String类型变量由单引号 ’ 括起来;此外还有一些特殊字符; Boolean型变量包括 true ( = 1 )、 false ( =...0 ) ;不为零的整数将被认为true;绝大多数的Halcon函数接受字符串型的表达:’true’ ‘false’,而非逻辑型表达; 函数返回常量用于标识错误: Ø H_MSG_TRUE no...error 2 Ø H_MSG_FALSE logical false 3 Ø H_MSG_FAIL operator did not succeed 5 可以放在try…catch…endtry...块中,也可以用dev_error_var() 与 dev_set_check() 来捕获; 控制语句结构:(与一般语言略有不同,它们也有输入输出变量) Ø if … endif / if … else...… endwhile Ø repeat … until 此外,也有关键字 break、continue、return、exit、stop 用来控制语句的执行; 赋值语句在Halcon中也被当作函数使用

    61320

    ROP小结

    ; payload布局: mprotect函数+pop *;ret+参数1\2\3+返回地址[read函数]+pop *;ret+参数1\2\3+返回地址[shellcode_addr] Ret2syscall...的就是第一个参数,以此类推,所以栈结构应为 str+system+返回地址+参数1+[参数2] 64位 分别在rdi,rsi,rdx,rcx,r8,r9中存放参数,所以在调用完函数后要找到对应pop *...;ret的代码片段来保持栈平衡,结构应为 str+pop rdi;ret+参数+system+返回地址 (当找不到足够的pop *;ret时,可以使用ret2csu的方式来构造payload) call...跳转到call后面跟的地址上去 ret指令: 跳转到esp/rsp所指的地址(之前的call压入的) esp/rsp-=8 32位的payload之所以返回地址在倒数第二个上面,是因为system函数使用完后参数不用再...好处:只要能泄露libc就可以拿到shell ret2csu 能找到pop rdi,rsi,rdx;ret的代码片段就可以直接构造payload,栈结构 str+G1+8+rbx+rbp+r12+r13

    52430

    JSDoc ,一个可替代 TypeScript 的方案?

    它通过使用包含JSDoc语法的注释来工作。 JSDoc语法具有多种用途,包括用类型注释值,函数指定参数和返回类型,函数提供文档和使用信息,以及类型错误等。...你也可以在连字符(-)后面加上参数的描述。 关键字 @returns 用于定义函数返回的内容。这对于大型函数特别有用。可能很难浏览所有的代码,包括早期返回,以确定函数的预期行为。...此外,您可以使用 @throws 指令添加函数可能抛出的错误。 改进除法函数,我们可以指定如果除数零则返回错误,并在代码中处理这种情况。 /** * Divide two numbers....输入完整的类(描述、构造函数和方法) 更进一步,您还可以使用JSDoc输入完整的类语法。...构造函数 类中创建的所有方法和变量 我们使用 @params 关键字来提供需要传递给构造函数参数的类型和描述。类中的方法与函数的类型方式相同,这在前一节中已经介绍过。

    74910

    C# this关键字(给底层类库扩展成员方法)

    本文参考自唔愛吃蘋果的C#原始类型扩展方法—this参数修饰符,并在其基础上做了一些细节上的解释 1、this作为参数关键字的作用 使用this关键字,可以向this关键字后面的类型添加扩展方法,而无需给其创建新的派生类型...但是this关键字最主要的作用是对类型的重载方法的扩充,来满足自身的需求,因为有些类方法的重载方法可能不是很完善,而直接修改类型的条件不足(应为可能有些已经被编译成dll,有些测试.net框架的底层类)...不是静态变量而是成员变量 (2)、静态类的特点,如果一个静态类没有加构造函数,那么编译器会自动的给它加一个静态构造函数,静态构造函数是最早被调用的,只要有静态访问,那就先调用静态构造函数,接着调用非静态构造函数...这样是调不到FormatWith方法的,应为此时的FormatWith方法还没有被初始化,所以编译器会报错 ?...ok,说明实例方法扩展成功 总结:上面的扩展方法的调用方式,看上去像是成员方法,实际编译器会对this关键字做特殊处理,编译器生成的中间语言(IL)会将代码转换为对静态方法的调用, 因此,并未真正违反封装原则

    1.1K70

    构造函数和析构函数

    需要注意的是,构造函数参数名不可与类成员名称一样,否则会导致混乱。...默认构造函数 默认构造函数是未提供显式初始值时,用来创建对象的构函数,例如 Stock s1;默认构造函数不会进行任何操作 Stock::Stock(); 只创建对象,并不进行初始化,默认构造函数也没有参数...类定义了构造函数后,我们就必须提供默认构造函数,如果只提供了非默认构造函数而没有提供默认构造函数 Stock s1;//这种调用默认构造函数将会出错 如果要创建对象且不显式地初始化,则必须定义一个不接受任何参数的默认构造函数...,定义默认构造函数的方式有两种 给定构造函数所有参数提供默认值 Stcok(const string &co = "error",int n = 0,double pr = 0.0); 通过函数重载定义另一个构造函数...,这个函数叫析构函数 如果构造函数使用new来分配内存,则析构函数使用delete清理这些使用完的内存,如果构造函数没有new,那么析构函数也不需要其他操作 Stock::~Stock(); 与构造函数不同的是

    21930

    lombok的@Builder注解原理背后干了啥?

    虽然“基于类”和“基于构造器”模式是最常见的用例,使用“方法”用例最容易解释。...@Builder可以为收集参数/字段生成所谓的“奇异”方法。它们采用1个元素而不是整个列表,然后将该元素添加到列表中。...要获得此行为,必须使用注释字段/参数@Singular。该功能具有其自己的文档。 现在,“方法”模式已经很清楚了,@Builder在构造函数上添加注释的功能类似。...您可以将@Builder.ObtainVia注释放在参数(对于构造函数或方法的情况)或字段(对于@Builder类型的情况)上,以指示从该实例获取该字段/参数的值的替代方法。...同时在子类和全参数构造使用 @Builder 注解,最终的 build() 函数只返回了空参的构造器创建的一个子类对象,因此属性“采用 builder 方式设置的 字段最终都丢失了。

    2.6K20

    我开源了一个Go学习仓库|笔记预览

    一、综述 1.1 Hello Word 介绍包管理,编译依赖,运行代码的流程;无需分号结尾以及严格的自动格式化 1.2 命令行参数 参数初始化,获取命令行参数的方式,给出了一个低效的循环获取命令行参数的代码...p := &x *p = 2 // 则 x == 1 var x, y int &x == &x, &x == &y, &x == nil // true false false Go的flag包可以实现获取命令行参数的功能...栈内存一般存储函数中的局部变量、参数等,函数创建的时候,这些内存会被自动创建;函数返回的时候,这些内存会被自动释放,栈可用于内存分配,栈的分配和回收速度非常快 堆内存:只要有对变量的引用,变量就会存在,...如果可能,变量会被分配到其函数的栈,如果编译器无法证明函数返回之后变量是否仍然被引用,就必须在堆上分配该变量,采用垃圾回收机制进行管理,从而避免指针悬空。此外,局部变量如果非常大,也会存在堆上。...在编译器中,如果变量具有地址,就作为堆分配的候选,如果逃逸分析可以确定其生存周期不会超过函数返回,就会分配在栈上。 总之,分配在堆还是栈完全由编译器确定。

    26330

    Go错误处理和Error日志打印实践

    Go错误处理和Error日志打印实践 如何参数校验?...日志级别 打印标准 Fatal 一个或多个关键业务功能不符合预期,导致整个系统无法正常运行 Error 一个或多个功能不符合预期,导致部分功能无法正确运行 Warn 发生了不符合预期的行为,相关功能仍能正常运行...原则: error应为上游提供简单易懂的提示 error应为问题排查提供帮助 error是业务处理的一部分,应尽可能处理error,防止未知错误以及panic 遵循依赖倒置原则 什么时候打印 error...其他的业务error一律是warn级别,例如扣钱时发现用户钱不够了这种业务错误 或不可信的上游(例如前端)传来的参数有问题 BadCase 1:打印并直接向上传递 err : = json.Unmarshal...建议: 不需要处理的错误,错误级别不要使用Error级别,可以打印成Warn、Info、Debug等。

    42910
    领券