let person = {
name : 'John',
height : 180,
weight : 75,
getBMI : function(){
return this.weight / (this.height * this.height) ;
},
arrow_getHeight : () => "Arrow Height="+ this.height,
regular_getHeight : function(){
return "Regular Height=" + this.height;
},
regular_regular_getHeight : function(){
const that = this;
console.log('---inside regular_regular_getHeight()--- ');
console.log('that = below');
console.log(that);
console.log('---- regular_regular_getHeight()---- ');
return function next(){
console.log("Regular Regular Height, that.height=" + that.height);
console.log("Regular Regular Height, this.height=" + this.height);
}
},
regular_arrow_getHeight : function(){
const that = this;
console.log('***** inside regular_arrow_getHeight()***** ');
console.log('that = below');
console.log(that);
console.log('***** **** regular_arrow_getHeight()***** ');
return () => {
console.log("Regular Arrow Height, that.height=" + that.height);
console.log("Regular Arrow Height, this.height=" + this.height);
}
}
}
console.log("person.name",person.name);
console.log("person.getBMI()" , person.getBMI());
console.log("person.arrow_getHeight()=", person.arrow_getHeight());
console.log("person.regular_getHeight()=", person.regular_getHeight());
person.regular_regular_getHeight()();
console.log();
console.log();
person.regular_arrow_getHeight()();
inakamono@ninja MINGW64 ~/wk/coding/javascript-generators-iterators/02/demos
$ node vegetable.js
person.name John
person.getBMI() 0.0023148148148148147
person.arrow_getHeight()= Arrow Height=undefined
person.regular_getHeight()= Regular Height=180
---inside regular_regular_getHeight()---
that = below
{
name: 'John',
height: 180,
weight: 75,
getBMI: [Function: getBMI],
arrow_getHeight: [Function: arrow_getHeight],
regular_getHeight: [Function: regular_getHeight],
regular_regular_getHeight: [Function: regular_regular_getHeight],
regular_arrow_getHeight: [Function: regular_arrow_getHeight]
}
---- regular_regular_getHeight()----
Regular Regular Height, that.height=180
Regular Regular Height, this.height=undefined
***** inside regular_arrow_getHeight()*****
that = below
{
name: 'John',
height: 180,
weight: 75,
getBMI: [Function: getBMI],
arrow_getHeight: [Function: arrow_getHeight],
regular_getHeight: [Function: regular_getHeight],
regular_regular_getHeight: [Function: regular_regular_getHeight],
regular_arrow_getHeight: [Function: regular_arrow_getHeight]
}
***** **** regular_arrow_getHeight()*****
Regular Arrow Height, that.height=180
Regular Arrow Height, this.height=180