ES6 Map in Flowtype

javascript ecmascript-6 flowtype

7008 просмотра

1 ответ

What is the appropriate way to deal with Map objects in ?

const animals:Map<id, Animal> = new Map();

function feedAnimal(cageNumber:number) {
    const animal:Animal = animals.get(cageNumber);

    ...
}

Error

const animal:Animal = animals.get(cageNumber);
                      ^^^^^^^^^^^^^^^^^^^^^^^^ call of method `get`

const animal:Animal = animals.get(cageNumber);
                      ^^^^^^^^^^^^^^^^^^^^^^^^ undefined. This type is incompatible with
const animal:Animal = animals.get(cageNumber);
                      ^^^^^^^ Animal

Flowtype Map declaration

Автор: mate64 Источник Размещён: 08.11.2019 11:24

Ответы (1)


14 плюса

Решение

Type of animals.get(cageNumber) is ?Animal, not Animal. You need to check that it's not undefined:

function feedAnimal(cageNumber:number) {
  const animal = animals.get(cageNumber);

  if (!animal) {
    return;
  } 
  // ...
}
Автор: vkurchatkin Размещён: 20.08.2016 02:15
Вопросы из категории :
32x32