Как стать автором
Обновить

Комментарии 6

в чем разница
export default class User {
export default new class User {

Примерно во всём.
Оператор new создаёт новый экземпляр.

в документации написано что
Если

в файле 1.js сделать
import x from user.js // export default new class User
в файле 2.js сделать
import x from user.js // export default new class User

То это будет один и тот же объект
что равняется export default class User
мой вопрос в том и заключался
что равняется export default class User

нет не равняется.


export default class User{} //Экспортирует конструктор
export default new class User{} //Экспортирует экземпляр.

Очень забавно наблюдать, как «Jon Snow» из оригинала статьи превратился в «Печорина» в её переводе.

Ох уж эта наша локализация :)
Еще для полноты картины можно описать protected (защищенные методы и свойства), которые начинаются со знака "_".
Так же можно добавить, что статические методы можно вызывать внутри класса не только через название класса (User.staticMethod()), а и через конструктор(this.constructor.staticMethod()). Конечно не так наглядно выглядит, но все же.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории