For this Question: You are given a function <code>calculateTotal</code>, which takes two parameter <code>num1</code> and <code>num2</code>, adds them and returns the tax on them by multiplying the sum with <code>tax</code> stored in the<code>this</code> object.

The function <code>solve</code> takes 3 arguments <code>taxObj</code>, <code>x</code> and <code>y</code>. <code>taxObj</code> is a object in the format, <code>{tax: 0.2}</code>, where <code>0.2</code> is the tax rate.

Your task is to complete this function <code>solve</code>, so that it executes the following tasks in the given order - 
<ul>
<li>Bind the <code>calculateTotal</code> function to the <code>taxObj</code> object, and call the function using the in-built <code>call()</code> function, with <code>x</code> as the first parameter and <code>y</code> as the second parameter</li>
<li>Bind the <code>calculateTotal</code> function to the <code>taxObj</code> object, and call the function using the in-built <code>apply()</code> function, with <code>x</code> as the first parameter and <code>y</code> as the second parameter</li>
<li>Bind the <code>calculateTotal</code> function to the <code>taxObj</code> object, and store it in a new function <code>boundCalculateTotal</code>. Then return this new function  <code>boundCalculateTotal</code></li>
</ul>The function <code>solve</code> takes 3 arguments <code>taxObj</code>, <code>x</code> and <code>y</code>. <code>taxObj</code> is a object in the format, <code>{tax: 0.2}</code>, where <code>0.2</code> is the tax rate. <code>x</code> and <code>y</code> are parameters which are to be used to call the <code>calculateTotal</code> function.

To test your solution, enter <code>num1</code>, <code>num2</code> and the <code>tax rate</code>, seperated by commas. The function will be called internally.
Example: 30,30,0.5The function <code>solve</code> will call the <code>calculateTotal</code> function, twice by binding it to the <code>taxObj</code> object, first with the inbuilt <code>call()</code> function and then with the inbuilt <code>apply()</code> function.
Then it should bind the <code>calculateTotal</code> function to the <code>taxObj</code> object, and store it in a new function <code>boundCalculateTotal</code>. Then the function <code>solve</code>  function should return this new function  <code>boundCalculateTotal</code>const taxObj = {
  tax: 0.1
}
const boundCalculateTotal = solve(taxObj, 10, 20); // prints 3 3
boundCalculateTotal(10, 20); //prints 3, I have written this Solution Code: 
function calculateTotal(num1, num2) {
  console.log(this.tax * (num1 + num2));
}

function solve(taxObj, x, y){
    calculateTotal.call(taxObj, x, y);
    calculateTotal.apply(taxObj, [x, y]);
    const boundCalculateTotal = calculateTotal.bind(taxObj);
    return boundCalculateTotal;
}, In this Programming Language: JavaScript, Now tell me if this Code is compilable or not?