Аргументы как выражения

Вспомним код:

const { round } = './math';

const result = round(10.25); // 10

Функция round вызывается с аргументом 10.25.

Мы выяснили, что выражения вычисляются в значения. То есть с точки зрения JavaScript, значения и выражения — это что-то схожее. Поэтому любые значения в программе технически можно заменить выражениями.

При вызове функции можно передать в неё аргументом выражение:

const result = round(8 + 2.25); // 10

Результат будет таким же, как в первом примере, потому что выражение 8 + 2.25 вычислится в значение 10.25, и с таким аргументом произойдет вызов round.

Более того, можно использовать переменные вперемешку со значениями и другими выражениями:

const number = 1.25;

const result = round(number + 7 + 2); // 10

Естественно, это работает не только с числами, а с любыми значениями и выражениями. Например, со строками.

console.log('D' + 'ragon'); // 'Dragon'

Давайте подытожим. Взгляните на несколько примеров из текущего урока:

// простые вызовы
round(10.25);           // 10
console.log('Dragon');      // 'Dragon'

// выражения в аргументах
round(8 + 2.25);        // 10
console.log('Dra' + 'gon'); // 'Dragon'

// выражения с переменными в аргументах
number = 1.25;
round(number + 7 + 2); // 10

const text = 'Dr';
console.log(text + 'ag' + 'on');  // 'Dragon'

Заметьте схожесть: во всех вызовах в функции передается какая-то информация, но иногда это простое, «готовое» значение (10.25, 'Dragon'), а иногда составное выражение — «неготовое» значение (8 + 2.25, number + 7 + 2, text + 'ag' + 'on' и т.д.). При этом во всех примерах передаётся один аргумент. Когда аргументов несколько, они обязательно разделяются запятыми.

Задание

Вам доступна функция calculateDistanceBetweenTowns. Она принимает один аргумент, в котором должны содержаться названия двух городов через дефис. В ответ она возвращает расстояние между этими городами. Вот пример использования:

const distance = calculateDistanceBetweenTowns('Lannisport-Bayasabhad');

Напишите программу, которая использует функцию calculateDistanceBetweenTowns и выводит на экран расстояние между городами, записанными в переменные from и to.


Нашли ошибку? Есть что добавить? Пулреквесты приветствуютсяhttps://github.com/hexlet-basics

Упражнение доступно только авторизованным пользователям.

Пожалуйста, авторизуйтесь, это необходимо для отслеживания прогресса выполнения уроков. Если у вас ещё нет учётной записи, то сейчас самое время создать аккаунт.