Что такое фабричные функции в JavaScript?

фабричные функции в JavaScript Изучение

Что такое фабричные функции в JavaScript?

Фабричная функция похожа на функции конструктора / функции класса, но вместо использования new для создания объекта фабричные функции просто создают объект и возвращают его.

Заводские функции — очень полезный инструмент в JavaScript. Функции Фабричные в JavaScript, аналогичны функциям конструктора / функции класса, но они не требуют использования » этого » ключевое слово для внутренних ценностей или использования » новой » ключевое слово при создании экземпляра новых объектов. Заводские функции могут содержать внутренние значения, методы и т.д., Как и обычные обычные функции. Заводские функции отличаются от обычных, поскольку они всегда возвращают объект, который будет содержать любое значение, метод и т.д.

Почему это полезно?

Если у нас сложная логика, и нам приходится снова и снова создавать несколько объектов с одинаковой логикой, мы можем написать логику один раз в функции и использовать эту функцию как фабрику для создания наших объектов. Это то же самое, что и настоящая фабрика, производящая продукцию.

Пример 1. У нас есть фабричная функция, которая будет производить новых роботов с единой логикой. Используя это, мы можем производить столько объектов / роботов, сколько захотим.

<script>
 
    // Function creating new objects 
    // without use of 'new' keyword
    function createRobot(name) {
        return {
            name: name,
            talk: function () {
                console.log('My name is '
                + name + ', the robot.');
            }
        };
    }
 
    //Create a robot with name Chitti
    const robo1 = createRobot('Chitti');
 
    robo1.talk();
 
 
    // Create a robot with name Chitti 2.O Upgraded
    const robo2 = createRobot('Chitti 2.O Upgraded');
 
    robo2.talk();
</script>

Выход:

Меня зовут Читти, робот.

Меня зовут Читти 2.0 Модернизированный, робот.

Пример 2:

<script>
 
    // Factory Function creating person
    var Person = function (name, age) {
 
        // creating person object
        var person = {};
 
        // parameters as keys to this object  
        person.name = name;
        person.age = age;
 
        // function to greet
        person.greeting = function () {
            return (
                'Hello I am ' + person.name 
                    + '. I am ' + person.age 
                    + ' years old. '
            );
        };
        return person;
    };
 
    var person1 = Person('Abhishek', 20);
    console.log(person1.greeting());
 
    var person2 = Person('Raj', 25);
    console.log(person2.greeting());
</script>

Выход:

Читайте также:  5 лучших практик для React-разработчика

Привет, я Абхишек. Мне 20 лет.

Привет, я Радж. Мне 25 лет.

Оцените статью
bestprogrammer.ru
Добавить комментарий