This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Если сделать вот так, то свойство _done реально становится приватным. | |
const _done = Symbol('done'); | |
class Task { | |
constructor(title, initiateMessage = 'Создание задачи') { | |
this.title = title; // Зачем нижнее подчеркивание: название геттеров и сеттеров не должно совпадать | |
// с названием свойств обьекта. И т.к. здесь у нас есть сеттеры/геттеры, то свойству обьекта | |
// добавили нижнее почеркивание, чтобы не было ошибки. | |
// Таким образом свойство становится ПРИВАТНЫМ (на самом деле с ним можно делать что хочешь, но | |
// по соглашению такие свойства приватные). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ES 5 | |
function PersonType(name) { | |
this.name = name; | |
} | |
PersonType.prototype.sayName = function() { // Не пишем сразу в классе для экономии памяти, т.к. если прописать в классе, то метод создается у каждого экземпляра класса. Если прописать в прототипе (т.е. как тут на 5 строке), то получается один методов для всех экземпляров класса. | |
console.log(this.name); | |
} | |
var person = new PersonType("Nicholas"); | |
person.sayName(); | |
console.log(person instanceof PersonType); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* | |
* ПАТТЕРН SINGLETON | |
* | |
* Паттерн Одиночка гарантирует, что класс имеет только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру. | |
* | |
*/ | |
NewerOlder