我想通过某种形式的反射或其他方式知道给定的 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/