Microsoft/TypeScript

lib.es*.d.ts: constructor methods

Open

#44,883 opened on Jul 3, 2021

View on GitHub
 (3 comments) (0 reactions) (0 assignees)TypeScript (6,726 forks)batch import
BugDomain: lib.d.tsHelp Wanted

Repository metrics

Stars
 (48,455 stars)
PR merge metrics
 (Avg merge 6d 17h) (9 merged PRs in 30d)

Description

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

Contributor guide