Учитывая простой класс
class Foo {
constructor(x) {
if (!(this instanceof Foo)) return new Foo(x);
this.x = x;
}
hello() {
return `hello ${this.x}`;
}
}
Можно ли вызвать конструктор класса без ключевого слова new
?
Использование должно позволить
(new Foo("world")).hello(); // "hello world"
или
Foo("world").hello(); // "hello world"
Но последнее не выполняется с
Cannot call a class as a function