Ключевое слово new
используется для создания класса.
const k = new MyClass();
Чтобы определить конструктор этого класса, вы должны использовать ключевое слово constructor
.
class MyClass1 {
constructor() {
}
}
const MyClass2 = class {
constructor() {
}
}
interface MyClass3 {
constructor(): Function; // should be Function *if* we want it generic
}
MyClass1
и MyClass2
вполне эквивалентны.
Будьте осторожны с MyClass3
, вы не можете сделать что-то вроде const k = new MyClass3()
.Но вы можете сделать const k: MyClass3 = new MyClass1()
.MyClass3
- это интерфейс, поэтому вы можете использовать его только для того, чтобы больше ничего не печатать.
Обратите внимание, что в Typescript при определении класса он также создает интерфейс.Вот почему класс может implements
другой класс.
Более подробная информация с TS doc: Класс Интерфейс