Búsqueda de sitios web

webpack - ¿Qué significa "..."[] en Typescript?


Estoy usando TypeScript para configurar webpack. Cuando configuro module.rules, revisé el types.d.ts para ver la definición de rules. Y veo estas palabras:

/**
 * An array of rules applied for modules.
 */
rules?: (RuleSetRule | "...")[];

Y quiero saber qué significa "..."[] en Typescript

Respuesta #1

RuleSetRule es un objeto:

declare interface RuleSetRule {
    /**
     * Match the child compiler name.
     */
    compiler?:
        | string
        | RegExp
        | {
   ... lots of lines

Y "..." es un tipo de cadena simple. Al encerrarlos en paréntesis y alternar entre ellos con |, obtienes un tipo que coincide con uno u otro (ya sea el objeto o la cadena). Colocar [] después de esto resulta en un tipo de arreglo de esos.

Por ejemplo:

const foo = [
  '...',
  { compiler: 'abc' /* other properties */ },
  '...'
];

coincidiría con ese tipo.

Enlace de TS Playground de un ejemplo.