javascript - Getter property not returning updated value in Console.log -


i bit stuck below scenario. reading javascript: definitive guide , came below code under accessor properties.

function inherit(p) {     if (p == null) throw typeerror();      if (object.create) {         return object.create(p);     }      var t = typeof p;     if (t !== 'object' && t !== 'function') throw typeerror();      function f() {};     f.prototype = p;     return new f(); }; 

the above simple code sets prototype of newly created object. below simple code, in when next called, supposed return value greater 55, i.e. 56

var serialnum = {     $n: 0,      next() {         return this['$n']++;     },      set next(n) {         if (n >= this.$n) {             this.$n = n;         } else {             throw 'serial number can set larger value';         }     } };  var genserialnum = inherit(serialnum); genserialnum.$n = 55; console.log(genserialnum.next); 

so when set $n of genserialnum object creates $n property of genserialnum , on calling getter property next, increments 55 56(as can see scope variable of chrome dev tools), on printing in console displays 55. why?

enter image description here

think it:

> = 0 0 > i++ 0 > 1 

see javascript increment operator (++ )


Comments

Popular posts from this blog

c# - Send Image in Json : 400 Bad request -

jquery - Fancybox - apply a function to several elements -

An easy way to program an Android keyboard layout app -