Uma das maneiras pelas quais você pode classificar uma linguagem de programação é o quão fortemente ou fracamente é digitado. Aqui, “digitado” significa se as variáveis são conhecidas no momento da compilação. Um exemplo disso seria um cenário em que um número inteiro (1) é adicionado a uma string contendo um número inteiro ("1"):
result = 1 "1";
A sequência que contém um número inteiro poderia ter sido gerada sem querer a partir de um conjunto de lógica complicado com muitas partes móveis. Também poderia ter sido intencionalmente gerado a partir de uma única fonte de verdade.
Apesar das conotações que os termos "fracos" e "fortes" implicam, uma linguagem de programação fortemente tadatada não é necessariamente melhor do que uma de forma fraca. Pode haver cenários em que a flexibilidade é necessária mais que rigidez e vice-versa. Como em muitos aspectos da programação, a resposta depende de vários contextos externos (ou seja, "depende").
O outro bit interessante é que não existe uma definição formal do que constitui uma digitação forte ou fraca. Isso significa que as percepções do que é considerado uma linguagem fortemente ou fraca diferem de pessoa para pessoa e podem mudar com o tempo.
JavaScript é considerado um idioma fracamente tado, e essa flexibilidade contribuiu para sua adoção precoce na web. No entanto, à medida que a web amadureceu e industrializou, os casos de uso para JavaScript se tornaram mais complicados.
Extensões como o TypeScript foram criadas para ajudar com isso. Pense nisso como um "plug -in" para JavaScript, que enxerta fortes digitando no idioma. Isso ajuda os programadores a navegar nas configurações complicadas. Um exemplo disso pode ser um aplicativo de página única intensiva em dados usada para comércio eletrônico.
Atualmente, é muito popular no setor de desenvolvimento da web, e muitos novos projetos padrão para usar o TypeScript ao configurar as coisas pela primeira vez.
O tempo de compilação é o momento em que uma linguagem de programação é convertida em código da máquina. É um precursor do tempo de execução, o momento em que o código da máquina é realizado pelo computador.
Como em muitas coisas na web, o tempo de compilação é um pouco complicado. Uma configuração que utiliza o TypeScript vai costurar peças de componentes do código JavaScript e compilá -las em um único arquivo JavaScript para o navegador ler e executar.
O tempo em que as peças do componente compilam é quando todas são combinadas. O TypeScript serve como uma espécie de superintendente e gritará com você se você tentar quebrar as convenções digitadas que você configurou antes que a combinação ocorra.
O arquivo JavaScript Stitched-Together é então ingerido pelo navegador, que tem seu próprio tempo de compilação. O tempo de compilação do navegador é altamente variável, dependendo de:
O TypeScript não é usado diretamente pelo navegador, mas sua presença é sentida. JavaScript é frágil. O TypeScript ajuda com essa fragilidade, tentando impedir erros a montante no editor de código. Isso diminui os erros de chance ocorrem no JavaScript lido pelo navegador - erros que levariam o JavaScript para parar de funcionar no site ou aplicativo da web que uma pessoa está usando.
CSS é uma linguagem de programação declarativa e específica de domínio. Também é fortemente digitado. Na maioria das vezes, os valores no CSS permanecem declarados como autor. Se um valor for inválido, o navegador lança toda a propriedade.
A lista de tipos no CSS é completa. Eles são:
transparent
Erros de arremesso
Ao contrário de outras linguagens de programação em que o código existe amplamente sob o capô, o CSS é altamente visual. Você não verá avisos ou erros no console se usar um valor inválido para uma declaração de propriedade, mas obterá visuais que não atualizam da maneira que antecipou.
O motivo disso é que o CSS é resiliente. Quando os visuais não são atualizados devido a uma declaração mal interpretada, o CSS está priorizando,
garantindo que o conteúdo possa ser mostrado a todos os custosProva
Vamos demonstrar o quão forte a digitação no CSS mantém os corrimãos em três exemplos: um com uma declaração direta de propriedade/valor, um com cálculo e outro com redefinir uma propriedade personalizada. Exemplo 1: Declaração de propriedade/valor direta
Para este exemplo, o navegador não entende a declaração de "batata" do estilo de fronteira do banner. Observe que as outras declarações de propriedade/valor da classe .banner são homenageadas pelo navegador e renderizadas, embora o estilo de borda tenha uma incompatibilidade de tipo. Este é um exemplo de como o CSS é resiliente.
palavras-chave escassas globalmente, ou a
tracejou o indent para uma propriedade personalizada.
;
Por isso, o tamanho da fonte do parágrafo volta ao próximo nó pai mais aplicável-o tamanho da fonte de 1.5rem declarado no elemento corporal.
Exemplo 3: Redefined Custom Property
Como variáveis JavaScript, os valores de propriedades personalizados podem ser redefinidos. Essa flexibilidade permite coisas como criar facilmente temas de cores do modo escuro.
No: seletor de raiz deste codepen, eu defini uma propriedade personalizada de--cor-cyan, com um valor de #953Fe3. Então, na aula .square, atualizei o valor da propriedade de cor-cyan para ser o topo. Embora o TOP seja um valor digno válido, não é um tipo que as honras de segundo plano.
Observe que a propriedade personalizada atualizada é escopo para .Square e não afeta outros usos, como a borda direita da frase "Não jogue para digitar". E se você remover a propriedade personalizada redefinida do .Square, verá a cor do fundo ciano.
Embora isso seja um pouco artificial, serve como um exemplo de como redefinir as propriedades personalizadas podem se afastar de você se você não tomar cuidado.Tooling
Com o presente da retrospectiva, acho que a falta de avisos de console para o CSS é uma falha e contribuiu para muitas das percepções negativas sobre o idioma.
esperando que um desenvolvedor note que uma mudança visual potencialmente pequena é uma pergunta muito grande e não os encontra onde eles estão na maioria de suas outras ferramentas diárias. Existem algumas iniciativas que estou ciente disso, tente abordar isso.
primeiro é Stylelint, um linhador feito especificamente para lidar com linguagens de pré-processamento do tipo CSS e CSS. O Stylelint pode se integrar aos editores de código, corredores de tarefas, ferramentas de linha de comando e ações do GitHub para ajudar a manter seu CSS sob controle. Isso permite conhecer desenvolvedores onde eles já estão.
O segundo é o excelente conjunto de opções de inspeção do CSS do Firefox em suas ferramentas de desenvolvedor. Em particular, gostaria de chamar a atenção para sua capacidade de identificar CSS não utilizado. Isso é extremamente útil para identificar seletores que podem ter sido executados em uma incompatibilidade de tipo.
CSS tem sido fortemente digitado desde que tenha sido uma linguagem de programação e, como linguagem de programação, existe há muito tempo. Também tem feito muito crescente ultimamente. Se você não fez o check -in, existem alguns recursos novos e incríveis disponíveis.
como JavaScript fortemente tímido se torna mais popular, espero que ajude os desenvolvedores a se sentirem mais confortáveis com a empresa, mas flexível do CSS.
obrigado a Miriam Suzanne pelo feedback dela.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3