title: Elif me this example from Exploring ES6 please
body: <p>Excerpt from the book: "The default value is computed on demand, only when it is actually needed:</p>
  
  <pre><code>const log = console.log.bind(console);
  
  function g(x=log('x'), y=log('y')) {return 'DONE'}
  </code></pre>
  
  <p>Why when I give one actual parameter to this function it gives return of y, when two arguments it just returns 'DONE', but if I don;t give it any act. parameters it will yield x, y and return statement?</p>
  
  <pre><code>&gt;&gt; g(0)
  y
  "DONE"
  
  &gt;&gt; g()
  x
  y
  'DONE'
  
  &gt;&gt; g(1)
  y
  'DONE'
  
  g(1, 2)
  'DONE'
  </code></pre>