Что делает <> рядом с классом extends в JS?

В примере с facebooks flux-utils они делают что-то вроде этого:

import {ReduceStore} from 'flux/utils';

class CounterStore extends ReduceStore<number> {
  getInitialState(): number {
    return 0;
  }

  reduce(state: number, action: Object): number {
    switch (action.type) {
      case 'increment':
        return state + 1;

      case 'square':
        return state * state;

      default:
        return state;
    }
  }
}

Может кто-нибудь сказать мне, что <number> угловые скобки рядом с ReduceStore делает в JS?

Я пытался найти это, но не знаю, как называется эта функция es6...

Спасибо всем, кто помогает!

1 ответ

Решение

Это не функция ES6, это часть Flow, статическая проверка типов для вашего кода ES6. Это похоже на TypeScript в том смысле, что он добавляет новый синтаксис, хотя они имеют свои существенные различия (TypeScript - полноценный язык). Flow использует Babel для переноса ваших типовых аннотаций на чистый ES6.

Другие вопросы по тегам