Функция Math.pow()
, возводящая число в какую-нибудь степень, принимает два параметра: какое число возводить и в какую степень возводить. Если вызывать pow()
без параметров, то вернется NaN
. Функция честно пытается выполнить возведение в степень, но если значение не передано, то интерпретатор автоматически передает ей undefined
. JavaScript заставляет программистов быть более аккуратными. В большинстве языков, если передать в функцию меньше параметров, чем она ожидает, то возникнет ошибка, — но только не в JavaScript. NaN
вернется и при передаче любых нечисловых значений:
const result = Math.pow(2, 'boom');
console.log(result); // => NaN
Другая функция может иметь другое число параметров и другие типы параметров. Например, может существовать функция, которая принимает три параметра: число, строку и еще одно число.
Откуда мы знаем, сколько каких параметров нужно функции Math.pow()
и какого типа будет «возврат»? Мы заглянули в сигнатуру этой функции. Сигнатура определяет входные параметры и их типы, а также выходной параметр и его тип. Про функцию Math.pow()
можно почитать в документации. В разделе «Синтаксис» есть такой текст:
Math.pow(base, exponent)
Параметры
base
Основание степени.
exponent
Показатель степени, в которую возводится основание base.
Это сигнатура функции и короткое пояснение на русском языке. Документация позволяет понять, сколько аргументов у функции и какого они типа, возвращает ли что-то функция и если да, то какого типа возвращаемое значение.
Рассмотрим функцию round()
, которая округляет число с плавающей точкой:
const result = round(10.25, 0); // 10
Мы передали в нее два параметра: число, которое нужно округлить, и точность округления. 0
означает, что округление будет до ближайшего целого значения.
Чаще всего нужно округлять именно до целого числа (а не до десятых, например), поэтому создатели функции round()
сделали второй параметр необязательным и задали ему внутри функции значение по умолчанию 0
. Значит, можно не указывать второй параметр, а результат будет тем же:
const result = round(10.25); // 10
Если нужна другая точность, то можно передать параметр:
// округление до одного знака после запятой
const result = round(10.25, 1); // 10.3
Если функция в JavaScript принимает необязательные параметры, то они всегда стоят после обязательных. Их количество может быть любым (это зависит от самой функции), но они всегда идут рядом и в конце списка аргументов.
Вам ответят команда поддержки Хекслета или другие студенты.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
Наши выпускники работают в компаниях:
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.
Зарегистрируйтесь или войдите в свой аккаунт