2016-02-23 11 views
7

Niedawno studiowałem ES6, a to często prowadzi mnie do korzystania z Babel. Jako ciekawy typ zacząłem przeglądać repozytorium Babel Github, aby dowiedzieć się, jak zbudowali to niesamowite narzędzie i wiem, czy mogę w jakiś sposób przyczynić się.Czy istnieje słowo kluczowe "declare" w ES6/7?

Jednak natknąłem się na this file i napisałem na nim rzeczy takie jak declare class BabelNodeSourceLocation {}, a plik kończy się .js.

To mnie bardzo zagmatwało i teraz zastanawiam się, czy w języku JavaScript istnieje słowo kluczowe declare, o którym nie wiedziałem, czy jest to po prostu specyficzna dla Babla składnia? Wszystkie moje wyszukiwania w Google nic nie dały.

Aktualizacja: Umieszczenie kodu w Babel REPL nie spowodowało niczego. Babel po prostu zignorował kod i nie wyprodukował żadnego równoważnego wyjścia ES5. Nie popełnił też żadnego błędu.

+1

Interesujące. Myślę, że to jest maszynopis. Nie wiem, dlaczego ma rozszerzenie ".js". – Jacob

Odpowiedz

6

, a plik kończy się na .js.

To nie wiele znaczą te dni :-)

Zastanawiam się, czy istnieje declare słów kluczowych w JavaScript, który nie wiedział o

Nie istnieje nie jest.

A może to tylko specyficzna dla Babla składnia?

Nie. Jest to type declaration file dla typu przepływu.

+0

Sądzę, że to raczej Flow. –

+0

@FelixKling: Masz rację. To nie jest sufiks ".d.ts" :-) – Bergi

+0

Z repozytorium Babel (https://github.com/babel/babel/blob/master/scripts/generate-interfaces.js): _ "dodaj skrypt wygenerować plik lib przepływu dla typów babel "_ – zeroflagL

1

Dzięki funkcji Flow można zadeklarować globalną klasę, która umożliwia odwoływanie się do typu klasy w dowolnym miejscu w projekcie. Nie ma to wpływu na kod środowiska wykonawczego i nie ma wpływu na wyjście babel.

Przykład z the docs:

declare class URL { 
    constructor(urlStr: string): URL; 
    toString(): string; 

    static compare(url1: URL, url2: URL): boolean; 
}; 

A potem w projekcie można Przekierowanie jako typ klasy.

Podobnie można zadeklarować inne globalne typy, moduły, funkcje, zmienne. Dobry sposób na ich uporządkowanie.

Powiązane problemy