#javascript #ecmascript_6
Как можно избегать префиксов "this." перед переменными в классе, если их много? Пример: class Person { constructor() { this.name = "a"; this.lastName = "b"; this.age = 20; this.hair = "black"; } }
Ответы
Ответ 1
Запиши все проперти вначале в вспомогательный объект, а затем присвой их this. class Person { constructor() { let props = { name : "a", lastName : "b", age : 20, hair : "black" } for (let prop in props) { this[prop] = props[prop]; } } } Но это все бред, это только сделает код тяжелее. Не бойся использовать this, или же применяй defineProperties, но от него код станет еще толще. Так же есть экспериментальный метод Object.assing. Object.assing(this, { name : "a", lastName : "b", age : 20, hair : "black" }); Но насколько я знаю он поддерживается лишь Firefox, а для прочих браузеров существует лишь в виде полифила или трансплайера и по сути представляет из себя инкапсуляцию способа, что я привел вначале.
Комментариев нет:
Отправить комментарий