Еще одна проблема, почему _ функция отказывается работать
'use strict'
let Person = (function() {
var age = 25;
var map = new WeakMap();
var _ = function(inst){map.get(inst)}; //не работает
function PersonConstructor(name) {
this.name = name;
var obj = {age};
map.set(this, obj);
}
PersonConstructor.prototype.getAge = function() {
return _(this).age
}
PersonConstructor.prototype.incAge = function() {
let obj = _(this);
obj.age++; //не работает
map.set(this,obj);
}
return PersonConstructor
}());
let per1 = new Person('John');
let per2 = new Person('Smith');
per1.incAge();
console.dir(per1.getAge())