Functtion calling function

What is mistake in this code?

const byCar = function (distance) {

  let travel = {

    Rate: 16,

    Tolls: Math.floor(distance / 60),

    Time: '15 Hrs',

    costing: function (distance) {

      return distance * travel.Rate + travel.Tolls * 100;



  return travel.costing;


const decideTravel = function (distance, fn) {

  return `To travel ${distance} Kms costing is Rs.${fn(distance)}`;


console.log(decideTravel(900, byCar));

Did you enclose the final string to be returned from the decideTravel function in backticks?

What is the error you are getting?

byCar is a function that returns a method. You have to invoke the method. You can use double parentheses to invoke it immediately.

return `To travel ${distance} Kms costing is Rs. ${fn(distance)(distance)}`;

I’ve edited your post for readability. When you enter a code block into a forum post, please precede it with a separate line of three backticks and follow it with a separate line of three backticks to make it easier to read.

You can also use the “preformatted text” tool in the editor (</>) to add backticks around text.

See this post to find the backtick on your keyboard.
Note: Backticks (`) are not single quotes (’).

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.