Excelente é um de um grupo de idiomas que usam o Javascript. Tempo de execução Como ambiente de execução: Os arquivos contendo arquivos contendo são compilados no JavaScript normal, que podem ser executados pelo navegador.
Jeremy Ashkenas fizeram este conceito popularmente com sua linguagem de Coffescript, mas, infelizmente, sua sintaxe relativamente terceira era difícil de aprender para os desenvolvedores familiarizados com C # ou Visual Basic.
Como a Microsoft expandiu para as tecnologias da Web 2.0, optou por se inspirar de Jeremy Ashkenas. Devido às capacidades do Visual Studio, os desenvolvedores podem simplesmente cortar enquanto lucram com as várias extensões de idioma.
O typycript não está limitado à digitação estática: também vem com uma variedade de recursos avançados que permitem simular paradigmas de programação orientados a objetos na Web. Este guia curto irá levá-lo através de algumas de suas principais características. Se a linguagem atrai a você, mais informações podem ser aprendidas na mosca.
Mesmo que os táximos também possam ser usados no Linux ou no MacOS, atenderemos ao IDE oficial da Microsoft. Baixe a edição livre da comunidade do Visual Studio 2017 de Microsoft, aqui e, e certifique-se de marcar a carga útil do ASP.NET durante a implantação.
Devido à cadência de liberação rápida de typycript, o Visual Studio precisa ser expandido com um módulo SDK, que pode ser baixado de O site da Microsoft aqui . Basta executar o instalador como se fosse um aplicativo padrão do Windows.
Não seria a Microsoft se não havia algum problema extra envolvido: Enquanto o SDK atualiza sua instalação do Visual Studio, o compilador TSC real não é adicionado à sua linha de comando. Esse problema é melhor resolvido usando o NPM Gerenciador de Package do Node.js na linha de comando.
PS C: \ Users \ Tamha \ Downloads & GT; NPM install -g typycript
C: \ usuários \ tamas \ appdata \ roaming \ npm \ tsc - & gt; C: \ Usuários \ Tamha \ AppData \ Roaming \ NPM \ Node_Modules \ Typycript \ bin \ TSC
C: \ Usuários \ Tamha \ AppData \ Roaming \ Npm \ Tsserver - & GT; C: \ Users \ Tamha \ AppData \ Roaming \ Npm \ Node_Modules \ Typycript \ bin \ Tsserver
C: \ Usuários \ Tamha \ AppData \ Roaming \ Npm
O Visual Studio espera trabalhar em um processo centrado em solução: Enquanto interessante, isso é menor que ideal para nossas necessidades. Em vez disso, crie um arquivo chamado Worker.TS e coloque-o em um local conveniente no sistema de arquivos. Abra-o arrastando-o para o Visual Studio e solte-o dentro da barra de ferramentas no topo. Em seguida, modifique seu conteúdo para incluir o seguinte código:
Função Sayoi () {
alerta ("Oi!");
}
Sayoi ();
Como mencionado na introdução, um arquivo .TS não pode fazer muito por conta própria. Devido a isso, prossiga para criar um arquivo chamado index.html, que deve estar localizado na mesma pasta. Em seguida, adicione o código de esqueleto mostrado acompanhando esta etapa. Ele carrega a saída do compilador e a é executada como se fosse qualquer outro bit de JavaScript.
& lt; html & gt;
& lt; head & gt;
& lt; script src = "worker.js" & gt; & lt; / script & gt;
& lt; / head & gt;
& lt; corpo e gt; & lt; / corpo & gt;
& lt; / html & gt;
A próxima etapa envolve a recompilação manual do arquivo .TS. Abra o PowerShell e insira o comando TSC seguido pelo nome do arquivo de entrada. Por padrão, o arquivo de saída compartilhará o nome do arquivo base, mas terá uma extensão de .js em vez de .TS. Finalmente, abra o arquivo index.html em um navegador de opção para provar a aparência da caixa de mensagem.
PS C: \ Usuários \ Tamha \ Downloads & GT; tsc. \ worker.ts
Até agora, o diopositivo fez pouco mais do que agir como um ambiente javascript mais complexo. A próxima etapa envolve ativar o suporte para digitação estática: Ele permite que o compilador execute análise estática de parâmetros, mantendo os valores inválidos. Para isso, é necessário um conjunto de tipos - tipos básicos são listados na tabela acima, enquanto as classes serão discutidas mais tarde.
As atribuições de tipo de variável typycript ocorrem via 'A:' colocadas após o nome da variável. Deixe-nos modificar nossa função Oi para levar um número e vamos passar em uma string. Finalmente, invocar o compilador TSC mais uma vez para destacar os olhos na mensagem de erro mostrada na captura de tela acima - Visual Studio, incidentalmente, também destacará a linha em questão.
Função Sayoi (Whattosay: Número) {
alerta (Whattosay);
}
Sayoi ("Olá");
O JavaScript implementa orientação de objeto via prototipagem: um estilo de código que é incomum nos mundos .NET e C / C ++. Excelente resolve este problema, permitindo a criação de classes - um processo mostrado no snippet que acompanha esta etapa.
Classe Imagine {
MyResult público: número;
Mya pública: número;
Myb público: número;
construtor (_a: number, _b: number)
{
este.myresult = _a + _b;
este.mya = _a;
}
}
Normalmente, o atributo público é usado para declarar que um elemento de um programa deve ser acessível a partir do exterior. Quando usado como parâmetro construtor, ele instrui o compilador Typycript a criar campos locais com os mesmos nomes.
Classe Imagine {
MyResult público: número;
// Mya pública: número;
Construtor (Mya Public: Número, Public _B: Number)
{
este.myresult = mya + _b;
this.mya = mya;
}
}
Vamos expandir nossa aula de exemplo, fornecendo-lhe um método que acessa os valores armazenados em MyResult e Mya e as produz na tela. Finalmente, o novo parâmetro é usado para criar uma instância da classe - é usada para invocar o método.
Classe Imagine {
MyResult público: número;
. . .
Público Saomething (): VOID {
alerta (este.Myresult);
}
}
deixe myimagine: imagine = novo imagine (2, 2);
MyImagine.Saysomething ();
O design do idioma do tipografia destina-se a salvar os desenvolvedores tanto quanto possível. Um bom recurso é a população automática de parâmetros criados usando o atalho mostrado.
Classe Imagine {
MyResult público: número;
Construtor (Mya Público: Número, Myb Public: Number)
{
este.myresult = mya + myb;
}
Público Saomething (): VOID {
alerta (this.mya + "" + this.myb);
}
}
Um dos principais princípios da programação orientado a objetos envolve a classes de base em cima uns dos outros. As classes derivadas podem então substituir o conteúdo de sua classe base, levando a hierarquias de classe flexíveis ajustáveis.
Futuro de classe se estende Imagine
{
Público Saomething (): VOID {
console.log (este.mya);
}
}
O trecho de código de cima estendeu a classe Imagine com um sub-elemento chamado futuro. O futuro difere de imaginar na medida em que seu método Sairomething, sendo mais evoluído, emite uma mensagem na linha de comando do navegador.
Deixe Myimagine: Imagine = novo futuro (2, 2);
Myimagine.Saysomething ();
deixe myfuture: futuro = novo futuro (9, 9);
myfuture.Saysomething ();
Com isso, o código real pode ser testado. Quando executar, o console do navegador conterá duas invocações do futuro - a classe avançada mantém suas propriedades mesmo quando invocadas como um objeto Imagine.
Expondo variáveis de membros com o modificador público é impopular: afinal, leva a maioria do controle do que os usuários fazem com o conteúdo da variável. Os acessadores datilografados permitem que você contorne esse problema de forma semelhante ao OOP tradicional. Esteja ciente de que os membros somente leitura também são suportados, mas que o uso desse recurso requer a ativação do suporte ecmascript5.
Public _mycache: string;
Obtenha fullcache (): string {
retornar este._mycache;
}
Definir fullcache (newx: string) {
if (newx == "hello") {
este._mycache = newx;
}
outro {
console.log ("dados errados!");
}
}
A capacidade de criar hierarquias complexas de herança motivará os desenvolvedores a experimentar sua sorte em aulas abstratas. Typycript também você é coberto a esse respeito - o exemplo que acompanha esta etapa cria uma aula com um sócio abstrato e real. Tentar instanciar a classe abstrata leva diretamente a um erro de compilador.
classe abstrata imagine {
MyResult público: número;
Resumo SayName (): VOID;
Construtor (Mya Public: Number, Public Myb: Number) {
este.myresult = mya + myb;
}
Público Saomething (): VOID {
alerta (this.mya + "" + this.myb);
}
}
futuro de classe se estende Imagine {
. . .
SayName público () {
console.log ("olá");
}
}
Como as estruturas de objetos se tornam mais complexas, os desenvolvedores geralmente se encontram enfrentando situações em que uma classe implementa vários pedaços de lógica. Nesse caso, uma interface faz uma boa solução alternativa - o exemplo mostra o que esperar.
Interface Datainterface {
Campo: Número;
workermethod (): vazio;
}
Como no caso da turma acima, uma interface não é boa se não pudermos usá-la. Felizmente, a implementação não é particularmente difícil: esteja ciente de que os autores da interface podem, além disso, declarar partes de sua criação para serem opcionais.
O trabalhador de classe implementa Datainterface {
Campo: Número;
workermethod (): void {
lançar novo erro ("método não implementado");
}
}
O compilador de tipografia impõe a verificação de validade variável estrita. Ao trabalhar em uma classe de armazenamento, os genéricos permitem que você deixe o usuário final determinar o tipo a ser tratado. Além disso, o diopositript também permite outros elementos genéricos, como funções, como é mostrado no snippet (tautológico) retirado da documentação.
// função genérica
Identidade de função (Arg: Número): Número {
return arg;
}
// classe genérica
Classe Genericnumber & Lt; T & GT; {
ZeroValue: T;
Adicionar: (x: t, y: t) = & gt; T; }
Máquinas de estado e elementos semelhantes se beneficiam muito de ter uma maneira de restringir uma variável para armazenar alguns estados bem definidos. Isso pode ser realizado usando o tipo de dados Enum:
Enum Parserstate {
Ocioso = 1,
Read0,
Read1.
}
classe imagine {
Mystate público: Parserstate;
Construtor (Mya Público: Número, Myb Public: Number)
{
this.mystate = parserstate.idle;
Cobrindo uma linguagem tão complexa quanto o texto digital em um único artigo é quase impossível. Olhe para a Exemplos do site Executivo Para saber mais sobre as ligações de idiomas.
Este artigo foi originalmente publicado em questão 266 Web designer , a revista Creative Web Design - oferecendo tutoriais especializados, tendências de ponta e recursos livres. Comprar edição 266 aqui ou Inscreva-se no web designer aqui .
Oferta especial de Natal: Economize até 49% em uma assinatura para web designer para você ou um amigo para o Natal. É uma oferta limitada, então se mova rapidamente ...
Artigos relacionados:
(Crédito da imagem: futuro) Manter os bots sempre é um jogo de números - infelizmente, a disponibilidade de biblio..
O Ecossistema JavaScript tem mudado por mais de uma década, significando que os desenvolvedores frontign tiveram que rastrear no..
A unidade é um dos mecanismos de jogo mais populares do mundo, responsável por poder centenas de milhares de jogos em todo o mu..
Para este workshop, eu estarei levando você passo a passo através de uma das minhas pinturas - cobrindo tudo, desde o conceito ..
Ao usar uma abordagem processual baseada em nó, o software 3D Houdini de SideFX fornece artistas digitais com um nível notável..
A Adobe está lançando uma nova série de tutoriais de vídeo hoje chamada Faça agora, que visa delinear como criar projetos de design específicos usando vários Nuvem criativa ..
Criar banners da Web não é o mais glamoroso de empregos do mundo, mas é algo que todo designer será obrigado a fazer em algum momento de sua carreira, provavelmente muitas vezes. Embora n..