arrays - Proprietatea 'children' a literalului obiect are implicit un tip 'any[]'


Cum pot seta proprietatea myOtherKey să aibă any?

Eroare Typescript ..

Object literal's property 'children' implicitly has an 'any[]' type

Inițializarea obiectului ..

let myObject = {
  myKey: 'someValue',
  myOtherKey: []
};

Răspuns #1

Ceea ce ai putea face este să îți afirmi pur și simplu care ar trebui să fie tipul așteptat al acelui array pentru a suprascrie rezoluția compilatorului a tipului any.

let myObject = {
  myKey: 'someValue',
  myOtherKey: [] as string[]
};

Răspunsul #2

De asemenea, poți spune TypeScript că nu îți pasă de `any` implicit prin setarea:

 "noImplicitAny": false,

în fișierul tău tsconfig.json.

Dacă nu vrei să o setezi pentru întregul proiect, poți, de asemenea, să adaugi această linie înainte de linia 'myOtherKey':

// @ts-ignore

De obicei, răspunsul toskv este calea de urmat, dar uneori este doar un efort suplimentar să explici totul TypeScript-ului (de exemplu atunci când simulezi un obiect și vrei să fie salvate array-uri goale pe unele proprietăți).