title: Learning Nodejs & ES6 stuck at some point
body: <p>following is a ES6 method.call() method which gives me error</p>
  
  <pre><code> var obj = {
              name: "Hello ES6 call",
              greet: function(somedata) {
                  this.somedata = somedata
                  console.log(this.somedata)  //somedata works
                  console.log(somedata) //somedata works
                  console.log(`Hello ${ this.somedata } `) 
  
  //Error this.somedata undefined
          }
      }
  
      obj.greet.call({name:"from call"},"somedata");
  </code></pre>
  
  <p>this.somedata undefined using ES6 Template literals</p>
  
  <pre><code>//second question
  var Emitter = require("events");
  var util = require("util");
  
  function Greetr() {
      this.greeting = "greetr function ";
      this.greet = function(data) {
          console.log(this.greeting, data)
          this.emit('greet', data);
      }
  }
  
  util.inherits(Greetr, Emitter);
  var greeter1 = new Greetr();
  
  greeter1.on('greet', function(data) {
      console.log("greet on", data);
  });
  
  greeter1.greet(" some data"); //works
  greeter1.greet.call({greeting:"greeting call function"}, "call data")
  </code></pre>
  
  <p>this.emit is undefined why is there any way out using call() function</p>