Это старая версия документа!
Объявление класса
class Comment {
text='igor';
age=25;
}
user1 = new Comment(); }
По факту при возові Comment викликається конструктор. Тому туди можна передавати аргументи у влстивості
class Comment {
constructor (text) {
this.text = text;
this.votesQty = 0;
}
upvote() {
this.votesQty += 1;
}
}
Объявление екземпляра класса
const firstcomment = new Comment('First comment')
Визов метода класса в єкземпляре класса
firstcomment.upvote()
Проверка принадлежности єксемпляра класса к классу
firstcomment instanceof Comment firstcomment instanceof Object)
Получение доступа к прототипу класса из єкземпляра класса
Comment.prototype.constructor
Обявление статического метода
єтот метод будет доступен как свойство класса Comment и НЕ наледуются всеми єкземплярами класса. т.е. он будет доступен как метод только самого класса
class Comment {
constructor (text) {
this.text = text;
this.votesQty = 0;
}
static mergeComment (first, second) {
return `${first} ${second}`;
}
}
Comment.mergeComment("asfsdf","sfdgdfg")
Расширение других классов
class numberArray extends Array {
sum(){
return this.reduce((el,acc)=>acc+-el,0);
}
}
const myArray = new numberArray(2,3,5)