JavaScript: Параметры по умолчанию
У некоторых функций есть необязательные параметры. Это значит, что для них заранее задано значение по умолчанию, и при вызове такой параметр можно не указывать.
Рассмотрим метод toFixed(), который округляет число до заданного количества знаков после запятой. toFixed() — метод, то есть функция, прикреплённая к значению и вызываемая через точку; подробно методы разберём в уроке про объекты.
const result = (10.25).toFixed(1); // => '10.3'Обратите внимание на кавычки в результате — toFixed() возвращает строку, а не число, поэтому использовать её в дальнейших вычислениях напрямую нельзя.
Мы передали ему одно значение — точность округления (1 знак после запятой). Но этот параметр необязателен. Если его не указать, используется значение по умолчанию 0 — округление до целого:
console.log((10.25).toFixed()); // => '10'Если нужна другая точность, её указывают явно:
console.log((3.14159).toFixed(2)); // => '3.14'
console.log((3.14159).toFixed(4)); // => '3.1416'(10.25).toFixed(1) → аргумент: 1 → '10.3'
(10.25).toFixed() → аргумент: (0) → '10'
└── значение по умолчаниюКоличество необязательных параметров зависит от конкретной функции, но обязательные всегда идут перед необязательными.
Сигнатура функции
У каждой функции есть сигнатура — описание её имени, параметров и порядка их использования. Сигнатура помогает понять, какие данные функция ожидает и что произойдёт, если параметры не указаны.
В документации необязательные параметры часто показывают в квадратных скобках. Например, сигнатура toFixed:
toFixed([digits])Здесь digits — количество знаков после запятой. Квадратные скобки означают, что параметр необязателен; если его не указать, по умолчанию будет 0.
Как работать с новыми функциями
Когда вы встречаете новую функцию, удобно действовать по простому паттерну:
- Открыть документацию (например, MDN) и найти сигнатуру функции.
- Посмотреть примеры использования.
- Открыть консоль браузера или Node.js и попробовать вызвать функцию с разными аргументами.
Такой подход помогает быстро разобраться, какие у функции обязательные и необязательные параметры и какие результаты она возвращает.
Задание
В коде заданы данные об автомобильной поездке: расстояние, расход топлива, цена топлива и количество пассажиров.
Вычислите и выведите на экран три значения, каждое на отдельной строке:
- Объём топлива в литрах, необходимый для поездки. Округлите до одного знака после запятой —
toFixed(1). - Общую стоимость поездки в рублях. Округлите до двух знаков —
toFixed(2). - Стоимость поездки для каждого пассажира. Округлите до целого, вызвав
toFixed()без аргумента (значение по умолчанию — 0 знаков).
distance ──────┐
├──→ fuel ──────┐
fuelConsumption ┘ ├──→ tripCost ──────┐
│ ├──→ perPerson
fuelPrice ─────────────────────┘ │
passengers ─────────────────────────────────────────┘Полезное
Ваше упражнение проверяется по этим тестам
// @ts-check
import { expect, test, vi } from 'vitest';
test('calling functions default params', async () => {
const consoleLogSpy = vi.spyOn(console, 'log');
await import('./index.js');
const firstArg = consoleLogSpy.mock.calls.join('\n');
expect(firstArg).toBe('37.8\n2426.76\n607');
});Решение учителя откроется через:
20:00
