JavaRush /Курсы /Модуль 1: Web Core /Параметры функций

Параметры функций

Модуль 1: Web Core
18 уровень , 3 лекция
Открыта

4.1 Параметры функций

Параметры функций в JavaScript позволяют передавать значения в функции для их обработки. Это делает функции более гибкими и адаптивными. В этой теме мы рассмотрим основные аспекты работы с параметрами функций в JavaScript, включая параметры по умолчанию и остаточные параметры.

Параметры указываются в круглых скобках после имени функции. При вызове функции значения этих параметров передаются в соответствующие переменные внутри функции.

Пример:

В функции greet() определены два параметра: name и age. При вызове функции значения Alice и 30 передаются в эти параметры.

JavaScript
    
      function greet(name, age) {
        return `Hello, ${name}! You are ${age} years old.`;
      }
      console.log(greet('Alice', 30)); // "Hello, Alice! You are 30 years old."
    
  

Обработка неопределенных параметров

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

Пример:

В функции greet() проверяется, передан ли параметр name. Если нет, используется строка Guest.

JavaScript
    
      function greet(name) {
        if (name === undefined) {
          return 'Hello, Guest!';
        }
        return `Hello, ${name}!`;
      }

      console.log(greet()); // "Hello, Guest!"
      console.log(greet('Bob')); // "Hello, Bob!"
    
  

4.2 Параметры по умолчанию

Параметры по умолчанию позволяют задать значения, которые будут использоваться, если аргумент не передался при вызове функции или передался как undefined. Это особенно полезно для создания функций с опциональными параметрами.

Синтаксис:

    
      function name (arg1 = value1, arg2 = value2) {
        // function body
      }
    
  

Пример 1: Простая функция с параметрами по умолчанию

В этом примере функция greet() имеет параметр name со значением по умолчанию Guest. Если аргумент не передан, будет использовано значение по умолчанию.

JavaScript
    
      function greet(name = 'Guest') {
        return `Hello, ${name}!`;
      }

      console.log(greet('Alice')); // Выведет: Hello, Alice!
      console.log(greet());        // Выведет: Hello, Guest!
    
  

Пример 2: Параметры по умолчанию с выражениями

В этом примере параметр tax по умолчанию рассчитывается как 20% от price, если не был передан другой аргумент.

JavaScript
    
      function calculatePrice(price, tax = price * 0.2) {
        return price + tax;
      }

      console.log(calculatePrice(100));  // Выведет: 120
      console.log(calculatePrice(100, 15)); // Выведет: 115
    
  

Пример 3: Параметры по умолчанию зависят от других параметров

В этом примере параметры по умолчанию позволяют создать пользователя с предопределенными ролями и статусами.

JavaScript
    
      function createUser(name, role = 'user', isActive = true) {
        return { name, role, isActive };
      }

      console.log(createUser('Alice')); // Выведет: { name: 'Alice', role: 'user', isActive: true }
      console.log(createUser('Bob', 'admin')); // Выведет: { name: 'Bob', role: 'admin', isActive: true }
      console.log(createUser('Charlie', 'moderator', false)); // Выведет: { name: 'Charlie', role: 'moderator', isActive: false }
    
  

4.3 Остаточные параметры

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

Синтаксис:

    
      function name (arg1, arg2, ...argArray) {
        // function body
      }
    
  

Пример 1: Суммирование всех переданных аргументов

В этом примере функция sumAll() использует остаточные параметры для суммирования всех переданных аргументов.

JavaScript
    
      function sumAll(...numbers) {
        return numbers.reduce((sum, num) => sum + num, 0);
      }

      console.log(sumAll(1, 2, 3));       // Выведет: 6
      console.log(sumAll(4, 5, 6, 7, 8)); // Выведет: 30
    
  

Пример 2: Функция с фиксированными и остаточными параметрами

В этом примере функция showItems() принимает фиксированный параметр firstItem и неопределенное количество остальных аргументов, собранных в массив otherItems.

JavaScript
    
      function showItems(firstItem, ...otherItems) {
        console.log(`Первый элемент: ${firstItem}`);
        console.log(`Другие элементы: ${otherItems.join(', ')}`);
      }

      showItems('apple', 'banana', 'cherry', 'date');

      // Выведет:
      // Первый элемент: apple
      // Другие элементы: banana, cherry, date
    
  

Пример 3: Функция с динамическими аргументами

В этом примере функция createMessage() принимает первый аргумент messageType и собирает все остальные параметры в массив messages, чтобы создать сообщение.

JavaScript
    
      function createMessage(messageType, ...messages) {
        return `[${messageType.toUpperCase()}]: ${messages.join(' ')}`;
      }

      console.log(createMessage('info', 'This', 'is', 'an', 'informational', 'message'));
      // Выведет: [INFO]: This is an informational message

      console.log(createMessage('error', 'An', 'error', 'occurred'));
      // Выведет: [ERROR]: An error occurred
    
  
1
Задача
Модуль 1: Web Core, 18 уровень, 3 лекция
Недоступна
Цена с налогом
Цена с налогом
1
Задача
Модуль 1: Web Core, 18 уровень, 3 лекция
Недоступна
Первый и остальные
Первый и остальные
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ