Показать сообщение отдельно
  #4 (permalink)  
Старый 07.05.2020, 17:29
Интересующийся
Отправить личное сообщение для IgorFomenko Посмотреть профиль Найти все сообщения от IgorFomenko
 
Регистрация: 07.05.2020
Сообщений: 19

Еще одна проблема, почему _ функция отказывается работать
'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())
Ответить с цитированием