tricky question

by Krishna Ananthi

JavaScript

function f(a,b,c) {
	if(a && b && c)
      return (a + b) * c;
  if (a === undefined)
    return 0;
  else return function f(b) {
    return  function f(c) {
      return (a + b) * c;
    }
  }
}
console.log(f(1)(2)(3)); // 9; (1+2)*3
console.log(f(2)(2)(1)); // 4
console.log(f(2, 2, 1)); //4
console.log(f()); //0