Size: a a a

Node.js — русскоговорящее сообщество

2020 December 12

М

Максим in Node.js — русскоговорящее сообщество
Anton Golovanov
Так ты вроде на ТС пишешь?
да
источник

AG

Anton Golovanov in Node.js — русскоговорящее сообщество
Там конструкторы возвращают объект, прикинь?
источник

AG

Anton Golovanov in Node.js — русскоговорящее сообщество
А для new там есть классы
источник

М

Максим in Node.js — русскоговорящее сообщество
ну, знаю
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
interface ICat {
 name: string;
 new(name: string): ICat
 meow(): string;
}

const Cat = (function () {
   function Cat(this: ICat, name: string) {
     this.name = name;
   }
   Cat.prototype.meow = function (this: ICat) {
       return this.name + ' says: meow!'
   };
   return Cat as unknown as ICat;
}());

const cat = new Cat('kitty');
console.log(cat.meow());
источник

М

Максим in Node.js — русскоговорящее сообщество
о
источник

М

Максим in Node.js — русскоговорящее сообщество
просто с тайпскриптом мне learn.javascript более понятным становится
источник

AG

Anton Golovanov in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
interface ICat {
 name: string;
 new(name: string): ICat
 meow(): string;
}

const Cat = (function () {
   function Cat(this: ICat, name: string) {
     this.name = name;
   }
   Cat.prototype.meow = function (this: ICat) {
       return this.name + ' says: meow!'
   };
   return Cat as unknown as ICat;
}());

const cat = new Cat('kitty');
console.log(cat.meow());
Не могу придумать кейс для написания такого в ТС
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Anton Golovanov
Не могу придумать кейс для написания такого в ТС
его и нет
источник

М

Максим in Node.js — русскоговорящее сообщество
ну, допустим, кейс не использовать классы в typescript
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Максим
ну, допустим, кейс не использовать классы в typescript
так классы тс компилируются в такую же функцию с прототипами
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
более того, такая функция -- это тот же самый класс. ооп никуда не делось
источник

AG

Anton Golovanov in Node.js — русскоговорящее сообщество
Максим
ну, допустим, кейс не использовать классы в typescript
Это не кейс, это создание проблемы для поиска ее решения
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Максим
ну, допустим, кейс не использовать классы в typescript
вот так еще можно объекты создавать
interface ICat {
 name: string;
 meow(): string;
}

function Cat(name: string): ICat {
 return Object.freeze({ name, meow });

 function meow() {
   return name + ' says: meow!'
 }
}

const cat = Cat('kitty');
console.log(cat.meow());
источник

V

Van Der Graaf Genera... in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
вот так еще можно объекты создавать
interface ICat {
 name: string;
 meow(): string;
}

function Cat(name: string): ICat {
 return Object.freeze({ name, meow });

 function meow() {
   return name + ' says: meow!'
 }
}

const cat = Cat('kitty');
console.log(cat.meow());
Но зачем?..
источник

М

Максим in Node.js — русскоговорящее сообщество
та, чтобы проходить собесы, например
источник

М

Максим in Node.js — русскоговорящее сообщество
когда тебя будут спрашивать про говно мамонта
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Van Der Graaf Generator
Но зачем?..
крокфорд рекомендует так делать. как минимум, нет проблем с this
источник

NP

Nathan 🦊 Perk @RF (х... in Node.js — русскоговорящее сообщество
🤔
источник

I

Igor in Node.js — русскоговорящее сообщество
а наследовать такое как?
источник