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