JavaScript构造函数的用例

JavaScript构造函数的用例,javascript,Javascript,最后,我决定花点时间来掌握如何使用JS编程,而不仅仅是在文件末尾的脚本标记中填充意大利面代码。在我看来,这是一个很好的资源。我对工厂模式、IFFE以及如何使用Object和Object.create(…)有很好的理解 我找不到答案的一个问题是,如果仍然使用构造函数,那么它们的用例是什么?我问这个问题的唯一原因是因为有很多年的文章都是这样回答的。这个想法似乎是为了更接近基于类的继承(es6之前) 本质上,这是一种我应该投入时间学习的设计模式吗?构造函数的设计目的是与新前缀一起使用。新前缀基于函数的

最后,我决定花点时间来掌握如何使用JS编程,而不仅仅是在文件末尾的脚本标记中填充意大利面代码。在我看来,这是一个很好的资源。我对工厂模式、IFFE以及如何使用Object和Object.create(…)有很好的理解

我找不到答案的一个问题是,如果仍然使用构造函数,那么它们的用例是什么?我问这个问题的唯一原因是因为有很多年的文章都是这样回答的。这个想法似乎是为了更接近基于类的继承(es6之前)


本质上,这是一种我应该投入时间学习的设计模式吗?

构造函数的设计目的是与新前缀一起使用。新前缀基于函数的原型创建一个新对象,并将该对象绑定到函数的隐式this参数


来源:JavaScript Douglas Crockford的优秀部分当然,构造函数是有意义的,并且被使用。考虑以下事项:

A=函数()
{
this.foo=“bar”;
};
A.prototype.printFoo=函数()
{
console.log(this.foo);
};
B=函数()
{
this.foo=“foobar”;
};
B.prototype=Object.create(A.prototype);
aInstance=新的A();
aInstance.printFoo();//福
B实例=新的B();
binInstance.printFoo();//foobar
构造函数还在使用吗


是的,当然是。它们是并且将继续是主要的对象构造模式。它们与对象文字一样普遍。它们在发动机中具有最佳性能优化,并且在需要大量实例时使用。带有初始化构造函数和方法继承原型的类模式是最方便的模式,自ES6以来,类的语法非常简单。

Kyle Simpson的视频中提到,ES6中引入了构造函数,使其感觉像是基于类的,因为JS本身并不成熟。他在谈论ES6之前的构造函数@Rikin时说,“这是多年的文章的答案。”-什么问题的答案?@Bergi使用JavaScript进行OOP。允许继承和多态性。@nerdlyist好吧,那就是你所要求的用例。完全知道它们是什么并且做什么。主要是看它是否仍然是JS中的一个设计模式。你能澄清一下“它们现在是,并且将继续是,主导对象构造模式吗”?主要是什么样的模式?@nerdlyist你提到的那些东西,“工厂模式,IFFE和object.create(…)”都是用于构造对象的模式,构造函数只是另一个。也是最流行和最常用的一个。@nerdlyist我以为你已经知道什么是构造函数了?纠正我的道歉,转瞬即逝的想法。我将不得不进一步研究这个模式。