Microsoft/TypeScript

lib.es*.d.ts: constructor methods

Aperta

#44.883 aperta il 3 lug 2021

 (3 commenti) (0 reazioni) (0 assegnatari)TypeScript (13.395 fork)batch import
BugDomain: lib.d.tsHelp Wanted

Metriche repository

Star
 (108.860 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

lib Update Request

Configuration Check

My compilation target is ES2015 and my lib is the default.

Missing / Incorrect Definition

Array and other interfaces for built-ins do not declare their own constructor methods

Sample Code

[].constructor[Symbol.species];
Element implicitly has an 'any' type because expression of type 'unique symbol' can't be used to index type 'Function'.
  Property '[SymbolConstructor.species]' does not exist on type 'Function'.

The code compiles fine when defining the appropriate constructor method:

declare global {
  interface Array<T> {
    constructor: ArrayConstructor;
  }
}

Playground link

Documentation Link

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/constructor

Guida contributor