es6-class - 如何检测 JavaScript (ES6) 类是否具有非默认构造函数?

标签 es6-class

我想通过某种形式的反射或其他方式知道给定的 ES6 类是否具有用户编写的非默认构造函数。

最佳答案

假设用户提供的构造函数有一个或多个参数,您可以通过检查函数(类)的 length 属性来实现这一点。但如果构造函数不带任何参数,据我所知根本没有办法

function Person(fName, lName) {
    this.firstName = fName;
    this.lastName = lName
}
console.log(Person.length);

function Person2() {}
console.log(Person2.length);

class Person3 {
    constructor(f,l) {}
}
console.log(Person3.length);

class Person4 {
}
console.log(Person4.length);

关于es6-class - 如何检测 JavaScript (ES6) 类是否具有非默认构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44618989/

相关文章:

javascript - ES6 : How to call a class function from a callback function

javascript - 过滤任务不起作用 - 使用 es6 类的具有 MVC 模式的待办事项列表

javascript - 我正在尝试将功能绑定(bind)到按钮,但出现问题

javascript - `function` 会生成 ES6 类(Babel)的实例吗?

javascript - 使用显示模式将 ES6 类属性设为私有(private)

javascript - ES6 : Instantiate class without calling constructor

javascript - 使用 'this' 变量的类和子类

javascript - 如何使用ES6 super在子构造函数中调用父方法?

Javascript,添加构造函数的类

javascript - 获取 ES6 类的 "this"调用方法并获取数据成员