Get to know MDN better
This page was translated from English by the community. Learn more and join the MDN Web Docs community.
Была попытка использовать объект или переменную как конструктор, однако этот объект или переменная - не конструктор. Смотрите constructor или new operator, чтобы получить больше информации о том, что такое конструктор.
Существует множество глобальных объектов, таких как String или Array, которые можно построить с использованием new. Однако, некоторые глобальные объекты - нельзя, т.к. их свойства и методы статичны. Следующие стандартные встроенные объекты JavaScript - не конструкторы: Math, JSON, Symbol, Reflect, Intl, SIMD, Atomics.
Функции-генераторы также не могут быть использованы как конструкторы.
Представьте, что вы хотите создать тип объекта для автомобилей. Вы хотите, чтобы этот тип объектов назывался car, и вы хотите, чтобы были свойства для производителя, модели и года выпуска. Чтобы сделать это, вы должны написать следующую функцию:
Теперь вы можете создать объект, который называется mycar (мой автомобиль) следующим образом:
В случае, когда возвращается незамедлительно разрешённый или незамедлительно отклонённый промис, вам не нужно создавать новый промис new Promise(...) и работать с ним.
Это неправильно (конструктор Promise вызывается неправильно) и будет вызывать исключение TypeError: this is not a constructor:
Вместо этого используйте статические методы - Promise.resolve() или Promise.reject() :
This page was last modified on 7 авг. 2023 г. by MDN contributors.
Your blueprint for a better internet.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.