在JavaScript中的函数参数中声明类

时间:2019-08-28 13:17:28

标签: javascript

即使我在网上进行了彻底的搜索,也无法找到解释,它的作用,所声明的内容以及所传递的内容,但是我还是在本书的函数自变量中遇到了一个类声明的例子,函数,以及什么时候应该使用它(也许这是一个不好的做法?)。

感谢您的帮助和指导!

function f(parameter1) {
    console.log(parameter1);
}

class ClassA {

}

f(class extends ClassA {

    render() {

    }
});

2 个答案:

答案 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接受了一个类定义,然后使用它实例化了一个对象,然后继续在该对象上调用方法并可能返回了它,则它将被使用。因此可以在一般的工厂功能中使用。