Właśnie zauważyłem, próbując utworzyć interfejs w TypeScript, że „typ” jest albo słowem kluczowym, albo zastrzeżonym słowem. Na przykład podczas tworzenia następującego interfejsu „typ” jest wyświetlany na niebiesko w programie Visual Studio 2013 z językiem TypeScript 1.4:
interface IExampleInterface {
type: string;
}
Załóżmy, że następnie spróbujesz zaimplementować interfejs w klasie, na przykład:
class ExampleClass implements IExampleInterface {
public type: string;
constructor() {
this.type = "Example";
}
}
W pierwszym wierszu klasy, gdy wpiszesz (przepraszam) słowo „typ” w celu zaimplementowania właściwości wymaganej przez interfejs, pojawi się IntelliSense z „typem” z tą samą ikoną co inne słowa kluczowe, takie jak „typeof” lub „nowy ”.
Rozejrzałem się i mogłem znaleźć ten problem z GitHub, który wymienia „typ” jako „zastrzeżone słowo trybu ścisłego” w TypeScript, ale nie znalazłem żadnych dalszych informacji o tym, jaki jest jego cel.
Podejrzewam, że mam pierdnięcie mózgiem i jest to coś oczywistego, o czym powinienem już wiedzieć, ale do czego służy słowo zastrzeżone „typ” w języku TypeScript?
źródło
Type Alias
aby nadać swoim typom nazwę semantyczną: basarat.gitbooks.io/typescript/content/docs/types/…Odpowiedzi:
Służy do „aliasów typów”. Na przykład:
Odniesienie: Specyfikacja TypeScript w wersji 1.5 (sekcja 3.9, „Aliasy typów”, strony 46 i 47)
Aktualizacja : teraz w sekcji 3.10 specyfikacji 1.8 . Dzięki @RandallFlagg za zaktualizowaną specyfikację i łącze
Aktualizacja : Podręcznik języka TypeScript , wyszukaj „Aliasy typów”, aby przejść do odpowiedniej sekcji.
źródło
Wpisz słowo kluczowe w maszynopisie:
W maszynopisie słowo kluczowe type definiuje alias do typu. Możemy również użyć słowa kluczowego type do zdefiniowania typów zdefiniowanych przez użytkownika. Najlepiej wyjaśnić to na przykładzie:
Można komponować rodzajów typów skalarnych (
string
,number
itp), ale również wartości, takich jak dosłowne1
lub'mystring'
. Możesz nawet komponować typy innych typów zdefiniowanych przez użytkownika. Na przykład typmadness
ma typyrandom
icolor
w nim.Następnie, gdy próbujemy nadać ciągowi literał nasz (i mamy IntelliSense w naszym IDE), pokazuje sugestie:
Pokazuje wszystkie kolory, które typowe szaleństwo wywodzi się z posiadania koloru typu, „random”, który wywodzi się z typu random, i wreszcie ciąg,
'foo'
który znajduje się na samym typie szaleństwa.źródło
type color = "blue" | "red" | "yellow" | "purple";
oświadczenia w klasie lub poza nią?