Нет особого значения свойства prototype
в TypeScript за пределами обычного особого значения свойства JavaScript-конструкторов prototype
.
В этом коде prototype
свойство ErrorConstructor
типа/интерфейс установлен для того, чтобы любой код, который получает доступ к ErrorConstructor.prototype
непосредственно получит правильную информацию набора текста для этого свойства.
Напротив, подпись new
ErrorConstructor
определяет тип объекта, созданного с помощью вызова new
. Возвращаемое значение new
конструктора и конструктор конструктора prototype
номинально одного и того же типа, но JavaScript позволяет конструкторам возвращать значения, которые не относятся к их собственному типу, поэтому разграничение необходимо для правильного ввода всего возможного кода JavaScript.
Возможно, я ошибаюсь, но мне кажется, что интерфейс 'ErrorConstructor' на самом деле не предназначен для использования/ссылки. Кажется, что он существует только для того, чтобы мы могли «печатать» информацию типа вокруг внешнего объекта Error. В этом свете, какие возможные практические причины были бы связаны с «ErrorConstructor.proptotype»? –
Хорошая точка. Я думаю, кроме того, что точно реплицируется то, что определено в стандарте ECMAScript ('lib.d.ts' автоматически генерируется в конце концов), наличие хорошо продуманного« прототипа »может помочь расшифровать код класса« Ошибка »вручную. –