objavlenie_klassa

Это старая версия документа!


Объявление класса

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)
  • /sites/data/attic/objavlenie_klassa.1702577619.txt.gz
  • Последнее изменение: 2023/12/14 18:13
  • tro