Страницы

Поиск по вопросам

пятница, 31 мая 2019 г.

JavaScript 6 classes

Как можно избегать префиксов "this." перед переменными в классе, если их много? Пример:
class Person { constructor() { this.name = "a"; this.lastName = "b"; this.age = 20; this.hair = "black"; } }


Ответ

Запиши все проперти вначале в вспомогательный объект, а затем присвой их 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, а для прочих браузеров существует лишь в виде полифила или трансплайера и по сути представляет из себя инкапсуляцию способа, что я привел вначале.

Комментариев нет:

Отправить комментарий