استدعاءات أسلوب التسلسل في JavaScript

في JavaScript ، يمكننا أحيانًا إجراء سلسلة من استدعاءات الطريقة ، مثل هذا:

car.start().drive()

من المريح جدًا القيام بذلك.

بدلا من الكتابة

car.start()
car.drive()

يمكننا التبسيط في سطر واحد.

هذا ممكن إذا أعادت كل طريقة الكائن نفسه. بمعنى آخر ، يجب أن يكون التنفيذ شيئًا من هذا القبيل:

const car = {
  start: function() {
    console.log('start')
    return this
  },
  drive: function() {
    console.log('drive')
    return this
  }
}

من المهم ملاحظة أنه لا يمكنك استخدام وظائف الأسهم ، لأنthisفي وظيفة السهم المستخدمة كطريقة كائن غير مرتبطة بمثيل الكائن.

أحب استخدام وظائف الأسهم طوال الوقت ، وهذه إحدى الحالات التي لا يمكنك فيها ذلك.

تعد استدعاءات الطريقة المتسلسلة رائعة عندما لا تقوم بإرجاع مجموعة من القيم من الطريقة ، وإلا فإنك تحتاج بوضوح إلى تعيين استدعاء طريقة إلى متغير ، ولا يكون التسلسل ممكنًا:

const result = car.start()
if (result) {
  car.drive()
}

المزيد من دروس js: