Acabei de notar, ao tentar criar uma interface no TypeScript, que "tipo" é uma palavra-chave ou uma palavra reservada. Ao criar a seguinte interface, por exemplo, "tipo" é mostrado em azul no Visual Studio 2013 com TypeScript 1.4:
interface IExampleInterface {
type: string;
}
Digamos que você tente implementar a interface em uma classe, assim:
class ExampleClass implements IExampleInterface {
public type: string;
constructor() {
this.type = "Example";
}
}
Na primeira linha da classe, conforme você digita (desculpe) a palavra "tipo" para implementar a propriedade exigida pela interface, o IntelliSense aparece com "tipo" tendo o mesmo ícone de outras palavras-chave como "tipo" ou "novo "
Eu dei uma olhada e pude encontrar este problema do GitHub que lista "tipo" como uma "palavra reservada de modo estrito" no TypeScript, mas não encontrei nenhuma informação adicional sobre qual é realmente seu propósito.
Eu suspeito que estou tendo um cérebro peido e isso é algo óbvio que eu já deveria saber, mas para que serve a palavra reservada "type" no TypeScript?
fonte
Type Alias
para dar aos seus tipos um nome semântico: basarat.gitbooks.io/typescript/content/docs/types/…Respostas:
É usado para "aliases de tipo". Por exemplo:
Referência: TypeScript Specification v1.5 (seção 3.9, "Type Aliases", páginas 46 e 47)
Atualização : Agora na seção 3.10 da especificação 1.8 . Obrigado @RandallFlagg pela especificação atualizada e pelo link
Update : TypeScript Handbook , a pesquisa "Type Aliases" pode levar você à seção correspondente.
fonte
Digite a palavra-chave no texto datilografado:
Em typescript, a palavra-chave type define um apelido para um tipo. Também podemos usar a palavra-chave type para definir os tipos definidos pelo usuário. Isso é melhor explicado por meio de um exemplo:
Você pode compor tipos de tipos escalares (
string
,number
, etc.), mas também de valores literais como1
ou'mystring'
. Você pode até mesmo compor tipos de outros tipos definidos pelo usuário. Por exemplo, o tipomadness
tem os tiposrandom
ecolor
nele.Então, quando tentamos tornar uma string literal nosso (e temos IntelliSense em nosso IDE), ele mostra sugestões:
Mostra todas as cores, cujo tipo de loucura deriva de ter cor de tipo, 'random' que é derivado de tipo aleatório e, finalmente, a string
'foo'
que está no próprio tipo de loucura.fonte
type color = "blue" | "red" | "yellow" | "purple";
declarações dentro ou fora da classe?