内容简介:There are many ways to create new JavaScript objects. In this post, we’ll use theIn the following example, we create aFinally, we have a
There are many ways to create new JavaScript objects. In this post, we’ll use the fluent interface pattern! In the fluent interface pattern, we use classes with defined methods to add attributes to our object.
In the following example, we create a PersonBuilder
class. In the constructor
, we create an empty person
property. Then, we have some additional methods called withName
and withAge
that allow us to give our person a name and age, respectively.
Finally, we have a build
method. This just returns our person
object, signifying that we’re done building.
class PersonBuilder {
constructor() {
this.person = {};
}
withName(name) {
this.person.name = name;
return this;
}
withAge(age) {
this.person.age = age;
return this;
}
build() {
return this.person;
}
}
Note that we return this
in the withName
and withAge
methods—this returns the current instance, allowing us to continue to chain methods.
The implementation of our class ends up being something like this:
const person = new PersonBuilder()
.withName('Daffodil')
.withAge(25)
.build();
console.log(person);
// { name: "Daffodil", age: 25 }
And that’s it, we now have a person object!
Why Build Objects This Way?
The fluent interface pattern can definitely be verbose, but one nice thing about it is that it makes it pretty hard to set an incorrect property on your object—you can only set object props by using the methods on your class. This can be especially handy if your object has a lot of properties, or if you need a handy way to generate a bunch of different objects to a specification (e.g., for test case generation).
以上所述就是小编给大家介绍的《Using the Fluent Interface Pattern to Build Objects in JavaScript》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
现代信息检索
(西班牙) Ricardo Baeza-Yates、(巴西)Berthier Ribeiro-Neto / 机械工业出版社 / 2011-3 / 78.00元
本书不仅详细介绍了信息检索的所有主要概念和技术,以及有关信息检索面的所有新变化,而且其组织使读者既可以对现代信息检索有一个全面的了解,又可以获取现代信息检索所有关键主题的详细知识。本书的主要内容由信息检索领域的代表人物Baeza-Yates和Ribeiro-Neto编写,对于那些希望深入研究关键领域的读者,书中还提供了由其他主要研究人员编写的关于特殊主题的发展现状。 与上一版相比,本版在内容......一起来看看 《现代信息检索》 这本书的介绍吧!