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

Closure constructor не работает в strict mode
Здравствуйте, написал простейший конструктор, который без use strict работает, а с use strict нет
'use strict'
            let Person = (function() {
                var age = 25;
                var map = new WeakMap();
                 function PersonConstructor(name) {
                    this.name = name;
                    var obj = {age};
                    map.set(this, obj);

                }
                PersonConstructor.prototype.getAge = function() {
                    return map.get(this).age
                }
                PersonConstructor.prototype.incAge = function() {
                    obj = map.get(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())
Ответить с цитированием