-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path04_factory_function.js
More file actions
28 lines (25 loc) · 1000 Bytes
/
Copy path04_factory_function.js
File metadata and controls
28 lines (25 loc) · 1000 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// A factory function is any function which is not a class or constructor that returns a (presumably new) object.
// In JavaScript, any function can return an object. When it does so without the new keyword,
// it’s a factory function.
// create function
function createMemberShp(firstName, lastName) {
// remember use return here
return {
firstName: firstName,
lastName: lastName,
fullName: function () {
console.log(`Hello ${this.firstName} ${this.lastName}`);
},
};
}
// dont forget field argument cz function use param
const lutfy = createMemberShp('mugiwara no', 'luttfy');
lutfy.fullName(); // Hello mugiwara no luttfy
const zoro = createMemberShp('Roronoa', 'Zorro');
zoro.fullName(); //Hello Roronoa Zorro
/*****
Cara ini lebih efektif dibandingkan harus membuat object
seperti membuat object lutfy terlebih dahulu, dilanjut
dengan object zoro terlebih dahulu jika harus membuat 3000 lebih
tidak efektif juga jadi factory funciton adalah solusinya..
******/