Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   работа с classe js (https://javascript.ru/forum/events/78220-rabota-s-classe-js.html)

Трудяга 11.08.2019 14:33

работа с classe js
 
Добрый день. Не могу решить задачку на классы, set newDiv не могу реализовать. Профи помогите, пожалуйста.

Реализовать конструктор в ES6 синтаксисе (также используйте аргументы по умолчанию):

function Component(tagName) {
this.tagName = tagName || 'div';
this.node = document.createElement(tagName);
}
//Пример вызова:
const comp = new Component('span');


class Component {
  constructor(tagName) {
    this.tagName = tagName || "div";
    this.node = document.createElement(tagName);
  }
  get valName() {
    return this.tagName;
  }
////////////////////////////
  set newDiv(newVal) {
    this.node = newVal;
    let body = document.body;
    this.node = body.appendChild(divList);
    divList.textContent = "текст List";
  }
/////////////////////////////
}
const component = new Component("span");
console.log(component.valName);
console.log(component.newDiv);

рони 11.08.2019 14:50

Трудяга,
Цитата:

Сообщение от Трудяга
set newDiv не могу реализовать

а что делает newDiv ?

Трудяга 11.08.2019 16:15

на body должен повесить 'div' с каким нибудь текстом

рони 11.08.2019 16:47

Трудяга,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">


</head>

<body>
 <script>
class Component {
  constructor(tagName = "div") {
    this.tagName = tagName;
    this.node = document.createElement(tagName);
  }
}

class newDiv extends Component {
     constructor(newVal){
        super();
        this.node.textContent = newVal;
        document.body.appendChild(this.node)
     }
}
new newDiv("текст List")
  </script>
</body>
</html>

Трудяга 11.08.2019 17:02

спасибо!


Часовой пояс GMT +3, время: 02:20.