التسلسل
لدينا الكائن ladder
(سُلَّم) الذي يتيح الصعود والنزول:
let ladder = {
step: 0,
up() {
this.step++;
},
down() {
this.step--;
},
showStep: function() { // shows the current step
alert( this.step );
}
};
الآن، إن أردنا القيام بعدة استدعاءات متتالية، يمكننا القيام بما يلي:
ladder.up();
ladder.up();
ladder.down();
ladder.showStep(); // 1
عَدِّل الشيفرة الخاصة بالدوال up
، و down
، و showStep
لجعل الاستدعاءات متسلسلة كما يلي:
ladder.up().up().down().showStep(); // 1
يُستخدم هذا النمط بنطاق واسع في مكتبات JavaScript
الحل هو إرجاع الكائن نفسه من كل استدعاء.
let ladder = {
step: 0,
up() {
this.step++;
return this;
},
down() {
this.step--;
return this;
},
showStep() {
alert( this.step );
return this;
}
};
ladder.up().up().down().up().down().showStep(); // 1
يمكننا أيضا كتابة استدعاء مستقل في كل سطر ليصبح سهل القراءة بالنسبة للسلاسل الأطول
ladder
.up()
.up()
.down()
.up()
.down()
.showStep(); // 1