Страницы

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

пятница, 13 марта 2020 г.

JavaScript 6 classes

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

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

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