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.
