কম্পিউটার

জাভাস্ক্রিপ্টে একটি চেইনড অপারেশন ক্লাস তৈরি করা হচ্ছে


সমস্যা

আমাদের জাভাস্ক্রিপ্টে একটি ব্যবহারকারীর সংজ্ঞায়িত ডেটা টাইপ স্ট্রিক তৈরি করার কথা যা মান দিয়ে যেকোন পরিমাণে চেইন করা যেতে পারে। এবং অপারেশন বিকল্পভাবে

মান নিম্নলিখিত স্ট্রিংগুলির মধ্যে একটি হতে পারে -

→ one, two three, four, five, six, seven, eight, nine

অপারেশনটি নিম্নলিখিত স্ট্রিংগুলির মধ্যে একটি হতে পারে -

→ plus, minus

উদাহরণস্বরূপ, যদি আমরা আমাদের ক্লাস -

এর প্রসঙ্গে নিম্নলিখিতগুলি বাস্তবায়ন করি
Streak.one.plus.five.minus.three;

তারপর আউটপুট −

হওয়া উচিত
const output = 3;

আউটপুট ব্যাখ্যা

কারণ যে অপারেশনগুলো হয়েছে −

1 + 5 - 3 = 3

উদাহরণ

নিম্নলিখিত কোড -

const Streak = function() {
   let value = 0;
   const operators = {
      'plus': (a, b) => a + b,
      'minus': (a, b) => a - b
   };
   const numbers = [
      'zero', 'one', 'two', 'three', 'four', 'five',
      'six', 'seven', 'eight', 'nine'
   ];
   Object.keys(operators).forEach((operator) => {
      const operatorFunction = operators[operator];
      const operatorObject = {};
      numbers.forEach((num, index) => {
         Object.defineProperty(operatorObject, num, {
            get: () => value = operatorFunction(value, index)
         });
      });
      Number.prototype[operator] = operatorObject;
   });
   numbers.forEach((num, index) => {
      Object.defineProperty(this, num, {
         get: () => {
            value = index;
            return Number(index);
         }  
      });
   });
};
const streak = new Streak();
console.log(streak.one.plus.five.minus.three);

আউটপুট

নিম্নোক্ত কনসোল আউটপুট -

3

  1. জাভাস্ক্রিপ্ট ব্যবহার করে একটি লিঙ্ক তালিকা তৈরি করা

  2. জাভাস্ক্রিপ্ট সুপার কিওয়ার্ড?

  3. জাভাস্ক্রিপ্টে ক্লাস কীওয়ার্ড

  4. জাভাস্ক্রিপ্টে বিপরীত অপারেশন