ECMAScript 2020: algumas novidades

Com as novas implementações do ECMAScript, temos novos recursos para melhorar o desempenho de nosso código e velocidade de codificação. Além de melhorias na sintaxe, temos novos operadores e novas implantações para facilitar o desenvolvimento com JavaScript. Caso você ainda não conheça algumas dessas implementações, o MundoJS possui um curso com as principais implementações do ECMAScript 2019 e 2020, e pode ser adquirido aqui.

Agora, conheceremos mais algumas implementações do ECMA2020:

Nullish Coalescing:

O Nullish coalescing adiciona a capacidade de verificar valores nulos em vez de valores falsey.

No JavaScript, alguns valores são falsey, como strings vazias, o 0, undefined, null, false, NaN, entre outros. Mas você pode querer verificar se a variável é null, ou seja, undefined ou null, pois é normal uma variável ter uma string vazia ou valor falso. Neste caso, você pode usar o novo operador Nullish Coalescing (??).

Em comparação a:

Como podemos ver, o operador || sempre retornará ‘Algum valor verdadeiro’, enquanto o operador ?? poderá retornar um valor não-nulo.

globalThis:

Se você escreveu código JS que pode ser usado no NodeJs, no navegador e dentro de web-workers, você pode ter dificuldade em obter o objeto global. Isso ocorre porque é utilizado window para os navegadores, global para o Node e self para web-workers. Se houver mais runtimes, também haverá objetos globais diferentes para eles. Neste caso, você teria que ter a sua própria implementação de detecção de runtime e, após isso, usar o objeto global correto. O ES2020 traz o globalThis, que sempre se refere ao objeto global, não importando onde o código será executado:

Module Namespace Exports:

Com módulos JavaScript, é possível utilizar a seguinte sintaxe:

import * as utilidades from './utilidades.mjs'

E agora, também podemos exportar código:

export * as utilidades from './utilidades.mjs'

E isso é o equivalente a:

import * as utilidades from './utilidades.mjs'
export { utilidades }

Well defined for-in order:

A especificação do ECMAScript não especificava em qual order o for-in deveria executar. Agora, isso está oficialmente padronizado no ES2020, pois os navegadores implantaram uma ordem de execução consistente.

import.meta:

O objeto import.meta foi criado pela implementação do ECMAScript com um prototype null.

Considere um módulo chamado modulo.js:

<script type="module" src="modulo.js"></script>

Agora, você pode acessar as meta-informações sobre o módulo utilizando apenas o import.meta:

console.log(import.meta)

Isso retornará um objeto com uma propriedade url que indicará a URL do nosso módulo. Isso é bom para saber o que obteremos em scripts externos ou descobrir a URL de documentos que estão contidos em nossos scripts internos.

Gostou deste artigo? Comente abaixo!

Novidades Vue v3.0.0 “One Piece”

O Vue.js está lançando a versão 3.0.0 denominada One Piece. Esta versão fornece um desempenho aprimorado, menor tamanho de pacotes, uma melhor integração do TypeScript e novas APIs para lidar com casos de uso em uma grande escala, com base sólida para iterações futuras de longo prazo do framework.

O 3.0 representa mais de 2 anos de desenvolvimento. o Vue é um projeto criado para a comunidade e sustentado pela mesma. Tem uma missão de ser simples, acessível para que qualquer pessoa possa aprendê-la rapidamente. Conforme o crescimento da base de usuários, a estrutura também cresceu em escopo, adaptando-se às demandas crescentes, evoluindo para o chamado “Framework Progressivo”.

Módulos internos em camadas

Na versão 3.0, a nova arquitetura oferece uma melhor capacidade de manutenção, permitindo que os usuários finais reduzam a metade do tamanho do tempo de execução.

  • O compilador suporta transformações AST personalizadas;
  • O runtime principal fornece uma API de primeira classe para a criação de renderizadores personalizados, visando diferentes destinos de renderização.
  • O módulo reactivity exporta funções que fornecem acesso direto ao sistema de reatividade do Vue. Este pode ser usado como um pacote independente, emparelhando com outras soluções de modelos.

Melhorias de desempenho

O Vue 3 mostra melhorias significativas de desempenho em relação à versão 2 em termos de tamanho de pacotes. No Vue 3, foi utilizado “DOM virtual informado pelo compilador”. O compilador realiza otimizações agressivas, gerando código de função de renderização, elevando o conteúdo estático, deixando dicas de tempo de execução para tipos de vinculação, nivelando nós dinâmicos dentro de um modelo para reduzir o custo de passagem em tempo de execução.

Integração aprimorada de TypeScript

O código base do Vue v3.0.0 é escrito em TypeScript, com as definições de tipo testadas e agrupadas automaticamente, para que deste forma, estejam sempre atualizadas. A API de composição funciona muito bem com inferências desse tipo.

Próximos passos:

As próximas implementações e mudanças serão:

  • Compilação de migração;
  • Suporte IE11;
  • Integração de roteador e Vuex em novos devtools;
  • Outras melhorias na inferência de tipo de modelo no Vetur.

Você pode ver todas as novidades no github do VueJS!

Gostou desta notícia? Comente abaixo!

Referências: https://github.com/vuejs/vue-next/releases/tag/v3.0.0

Promoção Pacote Profissional JavaScript + jQuery

Com pressa?
Acesse direto o curso clicando aqui


Olá pessoal!

Durante o mês de Setembro estamos com uma promoção para o curso Pacote Profissional JavaScript, ES2020 e jQuery (+ jQuery UI).

Neste curso, abordamos o desenvolvimento web com JavaScript e jQuery.

Você vai utilizar as tecnologias:

  • JavaScript;

  • jQuery e jQuery UI;

  • ES2019;

  • ES2020;

  • Conceitos modernos de desenvolvimento web.

E você vai aprender:

  • Fundamentos do JavaScript;

  • Estruturas básicas de programação;

  • Aprofundamento das estruturas ensinadas;

  • Atualizações que o JavaScript vem recebendo;

  • Conceitos essenciais de JQuery.

Tudo isso resolvendo projetos que lhe auxiliarão no desenvolvimento dos seus sites e aplicações web!

Mostramos no curso as novas atualizações do ECMAScript 2020, que auxiliam o desenvolvedor a otimizar os seus códigos.

O curso está com desconto de 75% pelos próximos 31 dias e pode ser adquirido diretamente por este link:

Use nosso cupom : 1E2D3E957FADED9578A2  ou acesse direto pelo link abaixo

Acessar curso

Compartilhe com seus amigos!

 

Exercício fácil: Recursão em Arrays

A recursão é uma metodologia de resolução de problemas que consiste em dividir o problema maior em subproblemas menores, até chegar em um problema pequeno o suficiente para que ele seja resolvido de forma trivial. Uma função recursiva chama a si mesma para resolver o problema proposto. As funções recursivas são soluções inteligentes e elegantes para problemas complexos. As funções recursivas devem ter um caso básico, devem mudar o seu estado e se aproximar do caso básico e devem chamar a si mesmas (recursivamente).

Fonte: https://panda.ime.usp.br/pensepy/static/pensepy/12-Recursao/recursionsimple-ptbr.html

Exercício:

No nosso exercício, teremos um caso base que deverá informar à nossa função que ela não precisará mais ser chamada. Isto significa que é um caso simples em que o valor de retorno já será conhecido. Também haverá uma chamada recursiva que executará a função com diferentes argumentos.

Você deverá criar uma função chamada contarDecrescente. Essa nossa função recursiva deverá receber um parâmetro (n). Caso esse parâmetro seja um número menor que 1, deverá retornar um array vazio. Caso atenda o requisito, crie uma constante chamada arrayDecrescente que recebe a função recursiva. Por exemplo, se o valor indicado no parâmetro for 5, o array retornado será: [5, 4, 3, 2, 1].

Não utilize laços de repetição para realizar este exercício.

Faça o download da solução aqui:

[download id=”4050″]

Versão React v17.0: Atualização sem novos recursos

Depois do silêncio, o React anunciou o primeiro candidato a lançamento do React v17. O que chama a atenção neste lançamento é a parte considerada como central de qualquer lançamento relacionado ao desenvolvimento: Os novos recursos! Na versão 17, não há novos recursos, mas sim uma ideia de facilitar o processo de migração de uma versão anterior para uma nova. Os desenvolvedores poderão atualizar os seus aplicativos gradualmente ou de uma vez, pois as novas alterações introduzidas nos mecanismos de delegação de eventos permitem a coexistência de diferentes versões de React na mesma aplicação. Ou seja, o foco principal é a atualização do próprio React!

Updates graduais:

Algumas mudanças de API, como descontinuar uma API legado, são impossíveis de fazer de forma automatizada. Mesmo sendo pouco utilizadas, ainda há suporte para elas no React. O React 17 vem com a permissão de atualizações graduais, embora seja possível usar duas versões do React, isso causava problemas com eventos. Mas no React 17 em diantes, você terá mais opções, como atualizar todo o aplicativo de uma vez, mas também tendo a opção de atualizar seu aplicativo por partes.

Isso não quer dizer que será necessário fazer atualizações graduais do sistema. Para a maioria, atualizar tudo de uma só vez é a melhor ideia. Carregar duas versões do React não e a melhor solução. Para que possam ocorrer essas atualizações graduais, terá mudanças no sistema de eventos do React,

Mudanças de Eventos:

Nos componentes React, você geralmente escrevia os manipuladores de eventos embutidos:

<button onClick={eventoClick}>

E o seu equivalente no JavaScript seria:

meuBotao.addEventListener("click", eventoClick);

Para a maioria dos eventos, o React não anexa aos Nodes do DOM em que você declara. Em vez disso, anexa um manipulador de evento direto no nó document. Isso é chamado de delegação de evento.

Quando um evento DOM é disparado no documento, o React descobre qual componente deve ser chamado e “borbulha” para cima através de seus componentes.

Se você tiver várias versões do React na página, elas registram manipuladores de eventos na parte superior. Isso gera uma quebra e.stopPropagation(). Mesmo sendo interrompida a propagação de evento, a árvore externa ainda o receberia. É por isso que será alterada no React 17: Não haverá anexo de manipuladores de eventos no nível document. Então, ele os anexará ao contêiner DOM no qual o React é renderizado:

const noRoot = document.getElementById('root');
ReactDOM.render(<App />, noRoot);

Você pode conferir mais detalhes da atualização diretamente no site do React.

Gostou desta notícia? Comente abaixo!

Referências:

Uma nova fase para o Angular

Com as constantes evoluções do framework, equipe e forte conexão com a comunidade angular, o projeto pretende compartilhar mais sobre o trabalho e futuros projetos considerados. Será adicionada uma página no angular.io com o roadmap, que será mantida em andamento pelo menos trimestralmente.

E o que é o roadmap?

O Angular recebe uma grande variedade de solicitações de recursos, tanto de dentro do Google quanto da comunidade. A lista de projetos contém tarefas de manutenção, refatoração de código, melhorias de desempenho e outras melhorias. Eles reúnem representantes de relações com desenvolvedores, gerenciamento de produtos e engenharia para priorizar a lista. Conforme novos projetos entram na fila, ocorre um posicionamento com base na prioridade relativa de outros projetos. Você pode verificar neste link quais são os projetos que serão lançados em atualizações futuras.

O Roadmap:

Você pode encontrar os projetos do backlog que já estão em andamento e também os que trabalharemos em breve.Os trabalhos serão executados conforme a lista de prioridades. Para maior transparência, foram inclusos trabalhos que afetam o próprio desenvolvimento do angular e projetos que se aplicam apenas ao desenvolvimento interno do Google.

O documento foi dividido em duas seções que representam todos os projetos em andamento em uma seção e, na outra, os projetos futuros. Você pode esperar que o trabalho chegue em versões futuras, dependendo de quando forem concluídos e de seu impacto na API pública do Angular. Como o projeto segue um controle de versão semântico, os novos recursos chegarão em versões menores ou maiores e com alterações que podem ser incompatíveis com versões anteriores na versão principal.

O que é controle de versão semântico?

Com a curva de crescimento de um software, novas dependências, novos pacotes irão ser integrados ao software. Se as especificações das dependências forem rígidas, pode ocorrer o bloqueio de versão. Se forem especificadas vagamente, você terá uma promiscuidade da versão. Como solução, cria-se um conjunto de regras e requisitos que ditam como os números de versões são atribuídos e incrementados. Para mais informações, acesse: https://semver.org/

Gostou desta notícia? Comente abaixo!

Referências:

Exercício fácil: Parâmetros em Arrow Function

Explicação:

Uma Arrow Function é uma expressão de função. Foi introduzida no ES6 (que trouxe novas features, incluindo essa nova forma de criar funções, utilizando o =>)

Uma Arrow Function possui uma sintaxe curta e possuem alguns benefícios, por exemplo:

  • O this é definido à partir das funções onde foram definidas, tornando desnecessário o bind();
  • São menos verbosas que as maneiras anteriores de expressar funções.

As Arrow Functions não podem ser usadas como funções construtoras, pois não se pode aplicar o operador new a elas.

Vamos ao Exercício:

Exercício 1:

Declare uma função comum, utilizando uma declaração ou expressão de função. Essa nossa função deverá possuir dois parâmetros (name, lastName). A nossa função deve mostrar no console a seguinte frase: “Olá name lastName, eu sou uma função!”.

Realizada esta parte do exercício, você deverá:

Replicar o exercício anterior, utilizando Arrow Function. Utilize os mesmos parâmetros e retorne no console a mesma frase.

Exercício 2:

Agora, no exercício dois, criaremos uma função chamada descobreDiametro, onde receberemos um parâmetro chamado raio e um parâmetro chamado diametro. Dentro da função, retornaremos o resultado do seu diâmetro.

Realizada a primeira parte do exercício, replique o exercício 2 utilizando Arrow Function.

Não esqueça de mostrar o resultado no console!

Gostou deste exercício? Comente os seus resultados abaixo!

Novidades: TypeScript 4.0

O TypeScript é uma linguagem baseada no JavaScript, adicionando sintaxe para tipos estáticos. Utiliza uma verificação de tipos para informá-lo de erros antes de executar o código, e então, usa-se o compilador TypeScript para remoção de tipos e deixar com um JavaScript limpo e legível.

Você pode utilizar o TypeScript obtendo-o por npm:

npm install -D typescript

O TypeScript 4.0:

Olhando para a versão 3.0 e anteriores, há um número grande de mudanças. Unificar os tipos de tuple e listas de parâmetros foi um grande destaque. Este lançamento 3.0 também apresentou referências de projeto para auxiliar o dimensionamento, organização e compartilhamento entre bases de código.

No TypeScript 3.7, foram apresentadas uma rica combinação de novos recursos de sistema de tipos com ECMAScript. Vimos referências de tipo recursiva e suporte para funções de estilo de asserção. As atualizações 3.8 e 3.9 trouxeram importações e exportações de tipo, juntamente com recursos do ECMAScript como campos privados, nível superior await em módulos e novas sintaxes.

E o que há de novo na versão 4.0?

Na versão 4.0, foram adicionados:

  • Tipos de tupla variável;
  • Elementos de tupla rotulados;
  • Classe de inferência de propriedade de construtores;
  • Operadores de atribuição de curto-circuito;
  • unknown nas cláusulas catch;
  • JSX customizado;
  • Melhorias de velocidade no build;
  • –incremental com –noEmit;
  • Algumas melhorias no Editor.

Importações automáticas mais inteligentes:

A importação automática torna a codificação mais fácil, mas sempre que ela parece não funcionar, confunde os usuários. As importações automáticas só funcionam em pacotes que seu projeto já inclui. Tudo isso leva a uma experiência de início péssima para quando você está tentando importar automaticamente algo que acabou de instalar, mas ainda não usou.

O TypeScript 4.0 faz um pouco de trabalho extra, incluindo os pacotes que você listou em seus campos. As informações desses pacotes são usadas apenas para melhorar as importações automáticas e não alteram mais nada, como a verificação de tipo.

Configurando 'incluir importações automáticas JSON de pacote'
TypeScript: Include Package JSON Auto Imports Fonte: https://devblogs.microsoft.com/typescript/announcing-typescript-4-0/

Confira as outras novidades do TypeScript 4.0 no artigo original em: https://devblogs.microsoft.com/typescript/announcing-typescript-4-0/

Gostou desta notícia? Comente abaixo!

Referências: https://devblogs.microsoft.com/typescript/announcing-typescript-4-0/

Angular vs ReactJS: Qual o Framework Front-End mais requisitado de 2020

Olá pessoal, o primeiro semestre de 2020 foi uma época cheia de mudanças. Ainda assim, permanece a eterna batalha entre Angular e React. Antes de iniciar a comparação, esclareceremos alguns pontos sobre ambas as tecnologias:

Angular:

Desenvolvido pelo Google e lançado pela primeira vez em 2010, é um framework de desenvolvimento front-end com uma boa estrutura, um ecossistema próprio, regras rígidas e um estilo de código declarativo. Possui uma profunda curva de aprendizado, bastante difícil, mas depois de possuir todas as possibilidades do Angular, ele auxiliará a criação do seu projeto.

Baseado na arquitetura MVC (Model-View-Controller), fornece aos desenvolvedores as peças fundamentais que são necessárias para projetar aplicativos móveis e da web.

React

React foi criado em 2011 e foi criado pelo Facebook. É uma biblioteca front-end que oferece uma oportunidade de construir uma excelente UI. Fácil de ler, escrever e integrar com outras estruturas JavaScript. Com React, você não utiliza somente a lógica do desenvolvedor, mas também a imaginação. Possuindo um ambiente de desenvolvimento flexível, amplia os horizontes de pensamento do desenvolvedor.

Oportunidades

Angular:

Desenvolvido para facilitar a criação de aplicativos nativos e híbridos ricos em recursos, como um SPA ou MPA.

React:

Tem por objetivo expandir as interfaces de usuário complexas, principalmente em apps web e móveis para Android e iOS.

Template Language

Angular:

Utilizando TypeScript, é adequado para desenvolvimento de apps complicados e você não queira perder seu tempo detectando bugs, pois o TypeScript ajuda a detectá-los mais cedo.

React:

Escrito em JavaScript, pode ser utilizado com diversos tipos de aplicações devido ao suporte e integração em outras linguagens.

Performance

Angular:

Funcionando de maneira mais devagar que o React, mas ainda com velocidade satisfatória, o Angular inclui todas as etapas, desde a criação de um projeto até a otimização de código.

React:

Rápido devido à forma como foi concebido, adiciona eficiência e simplicidade ao desenvolvimento de apps.

E qual escolher para ser um desenvolvedor sob demanda?

Escolha o Angular quando precisar:

  • Desenvolver aplicativos ricos em recursos;
  • Estrutura confiável e estável;
  • Desenvolver um app em tempo real, com base em bate-papo ou mensagens;
  • Aplicativos nativos, híbridos ou web que deveriam ser projetos de investimento substanciais;
  • Código em TypeScript;
  • Programação orientada a objetos.

Escolha o Angular quando precisar:

  • Desenvolver app’s modernos e leves a nível empresarial em um curto espaço de tempo;
  • Estrutura flexível, fornecendo soluções seguras de desenvolvimento de sites;
  • Aplicativos de plataforma cruzada ou SPA;
  • Expander a funcionalidade do aplicativo existente;
  • Forte apoio da comunidade.

Tendências:

De acordo com o NPM Trends, o React é mais popular em 2020:

Tendências NPM

O StackOverflow Trends oferece uma visão diferente da situação. De 2014 a 2019, o React e Angular tiveram quase a mesma popularidade, mas o React se tornou um líder nesta corrida:

Tendências de estouro de pilha

Conclusão:

Levando em consideração as estatísticas, o React é a estrutura mais demandada em 2020. Mesmo assim, escolha o seu framework ou biblioteca de acordo com sua necessidade de trabalho e experiência.

Gostou deste artigo? Comente abaixo!

Referências: https://techstory.in/angular-vs-reactjs/

O que é necessário para ser um Desenvolvedor JavaScript Senior?

Ainda é totalmente possível se tornar um desenvolvedor JavaScript sem possuir alguma graduação. Mas geralmente, os empregadores preferem indivíduos que possuam qualificações em ciência da computação. Para se tornar um desenvolvedor JavaScript sênior, algumas coisas podem se tornar necessárias, como:

  • Uma graduação com foco em desenvolvimento de software. Extremamente adequado para quem deseja se tornar um desenvolvedor de sucesso, apesar de não-obrigatório;
  • Consiga um estágio. Um estágio auxiliará você a obter experiência e orientação de desenvolvedores experientes;
  • Conclua um curso online ou presencial de JavaScript. Existem cursos muito bons que ensinam os fundamentos e conceitos avançados da linguagem que serão úteis no desenvolvimento de sua carreira de desenvolvedor JavaScript.

Carreira:

Existem degraus de carreira no desenvolvimento JavaScript. Em cada degrau, há uma fase de transição que requer a construção de conhecimento e experiência em uma área específica.

Júnior:

Um desenvolvedor júnior é alguém que acabou de ser inserido no mercado de trabalho e trabalha com diversos profissionais para resolver as demandas de uma organização. Como o JavaScript é principalmente (mas não em todo) para desenvolvimento do front-end, o desenvolvedor JavaScript provavelmente trabalhará em aplicativos web, adicionando funcionalidades adicionais ao código base existente ou corrigindo aplicações já existentes.

Pleno:

O desenvolvedor pleno é um colaborador competente da equipe, e já aprendeu as habilidades necessárias para criar um sistema básico, como aplicações ou aplicações web. Neste período, o desenvolvedor aprenderá habilidades como:

  • Arquitetura básica de um sistema;
  • Uso profissional de ferramentas;
  • Padrões de design, code smells.

Sênior:

Altamente qualificado e experiente, outros desenvolvedores consideram-no um mentor. Possuem um bom histórico de soluções de problemas avançados e construção de sistemas complexos usando técnicas avançadas. Algumas características do desenvolvedor JavaScript sênior são:

  • Padrões de design, refatoração de código;
  • Sólida compreensão de paradigmas arquitetônicos de sistemas;
  • Experiência com implantações de servidores e manutenção de infraestrutura.

O caminho para se tornar um desenvolvedor JavaScript sênior:

Já foram mostrados os estágios da carreira de desenvolvimento em JavaScript. Agora, as transições na carreira:

De um simples criador de scripts a um desenvolvedor Júnior:

Um criador de scripts não é pago pela codificação, mas a faz em seu tempo livre por diversão. A transição ocorre quando você obtém sua primeira posição paga como desenvolvedor. Como desenvolvedor JavaScript júnior, você transformará os requisitos de negócios em aplicações e usará as ferramentas necessárias para resolver problemas do mundo real.

  • Comunique claramente suas metas a cada dia de trabalho;
  • Desenvolva uma estratégia antes de tocar em códigos. Divida os problemas em pequenas partes;
  • Documente o que você aprendeu.
  • Leia livros e artigos da sua área, realizando pesquisas diárias;
  • Participe de comunidades de desenvolvedores, contribuindo em projetos de código aberto e participando de conferências.

De júnior para pleno:

Você sabe que chegou neste nível quando conhece tudo o que precisa saber para arquitetar um sistema. Você sentirá que JavaScript é a única linguagem que você precisará utilizar.

Os desenvolvedores plenos levam o conhecimento e habilidade do desenvolvedor júnior para o próximo nível, ganhando experiência no processo. Neste ponto você irá:

  • Ingressar em um projeto de alta visibilidade, ganhando experiência rapidamente, criando reputação dentro da sua empresa;
  • Estar pronto para enfrentar desafios além da zona de conforto, criando confiança e reputação;
  • Encontrar um bom mentor para auxiliá-lo quando necessário;
  • Aprender e testar novas ideias e conceitos.

De pleno para sênior:

Fluente em JavaScript, lida com preocupações e projetos de arquitetura de alto nível. Possui anos de experiência na criação de aplicativos Web e orienta outros desenvolvedores em sua equipe. É necessário muita prática e experiência para se acostumar com a variedade de problemas do mundo real e suas soluções. Você precisará:

  • Encontrar sua stack de tecnologia, utilizando todos os serviços da tecnologia escolhida para criar e executar um único aplicativo, com o qual você desejará ter conhecimentos e aprendê-lo em profundidade;
  • Ter coragem de assumir projetos desafiadores oferecidos a você;
  • Sair da zona de conforto e trabalhar em diversos projetos – mesmo aqueles fora de sua experiência;
  • Acompanha suas habilidades de crescimento e determine quais você deseja expandir;
  • Compreenda bem os padrões de design e saiba quais problemas cada padrão resolve. Garanta sempre que você está aprendendo coisas novas no seu trabalho. Caso fique estagnado, talvez seja hora de seguir em frente.

Palavras finais:

Os desenvolvedores estão hoje com uma demanda maior que nunca, tendo muitas oportunidades para desenvolvedores sênior JavaScript. O JavaScript é a habilidade de TI mais requisitada (Segundo o Top 2020 Skills Report) e mais de 72% das empresas procuram desenvolvedores JavaScript. Com a crescente popularidade, há muita necessidade de desenvolvedores JavaScript agora e futuramente. Agora é a hora de começar a planejar a carreira de desenvolvedor JavaScript e trabalhar nessa direção. Dependendo da sua determinação, você pode subir rapidamente na carreira e torna o desenvolvedor JavaScript sênior que está se esforçando para se tornar mais rápido que o esperado.

Referências: https://www.itpro.co.uk/business-strategy/careers-training/356608/how-to-become-a-senior-javascript-developer