Поскольку функция использует автономные переменные a
, b
и c
, вы можете передать объект в функцию и немедленно деструктурировать свойства a
, b
и c
,позволяя вам ссылаться на них как на отдельные переменные и использовать их в вашей формуле:
const sides = {
a: prompt("Enter the measuremeants of side A"),
b: prompt("Enter the measuremeants of side B"),
c: prompt("Enter the measuremeants of side C")
};
function calcArea({ a, b, c }) {
const surfaceArea = 2 * a * b + 2 * b * c + 2 * a * c;
console.log("Side A=" + a + ", Side B=" + b + ", Side C=" + c);
console.log("The area is: " + surfaceArea);
};
calcArea(sides);
Без деструктурирования или извлечения в отдельные переменные вам придется изменить каждую ссылку на a
, b
и c
внутри функции на sides.a
, sides.b
и sides.c
:
const sides = {
a: prompt("Enter the measuremeants of side A"),
b: prompt("Enter the measuremeants of side B"),
c: prompt("Enter the measuremeants of side C")
};
function calcArea(sides) {
const surfaceArea = 2 * sides.a * sides.b + 2 * sides.b * sides.c + 2 * sides.a * sides.c;
console.log("Side A=" + sides.a + ", Side B=" + sides.b + ", Side C=" + sides.c);
console.log("The area is: " + surfaceArea);
};
calcArea(sides);
Чтобы также использовать литералы шаблона, используйте обратные метки вместо "
разделителей и конкатенации:
const sides = {
a: prompt("Enter the measuremeants of side A"),
b: prompt("Enter the measuremeants of side B"),
c: prompt("Enter the measuremeants of side C")
};
function calcArea({ a, b, c }) {
const surfaceArea = 2 * a * b + 2 * b * c + 2 * a * c;
console.log(`Side A=${a}, Side B=${b}, Side C=${c}`);
console.log(`The area is: ${surfaceArea}`);
};
calcArea(sides);
Вы также можете заметить, что обычно лучше использовать const
, а не let
- let
для случаев, когда вам нужно переназначить переменная позже.