即使我在网上进行了彻底的搜索,也无法找到解释,它的作用,所声明的内容以及所传递的内容,但是我还是在本书的函数自变量中遇到了一个类声明的例子,函数,以及什么时候应该使用它(也许这是一个不好的做法?)。
感谢您的帮助和指导!
function f(parameter1) {
console.log(parameter1);
}
class ClassA {
}
f(class extends ClassA {
render() {
}
});
答案 0 :(得分:2)
在JavaScript中,class
只是function
的语法糖,就像function
一样,它是一个一流的值,可以分配,传递等。
let a = class {
foo() {
console.log('hey')
}
};
new a().foo()
//
function x(klass) {
new klass().bar()
}
x(class {
bar() {
console.log(2)
}
})
答案 1 :(得分:0)
这正在定义一个匿名类(使用Java术语...不确定那是否是JS的正确名称)。这个例子很荒谬。我可以看到,如果函数f接受了一个类定义,然后使用它实例化了一个对象,然后继续在该对象上调用方法并可能返回了它,则它将被使用。因此可以在一般的工厂功能中使用。