JavaScript 6

Capa do livro JavaScript 6
Título
JavaScript 6
Autor(es)
Editora
FCA – Editora de Informática, Lda.
Páginas
192
ISBN
978-972-722-815-7

O JavaScript já não é só a linguagem de script da Web. Com o passar dos anos, cada vez mais pessoas recorrem a esta linguagem para automatizar a realização de várias tarefas, uma vez que tem um número infindável de utilizações práticas, que vão desde a criação de páginas Web até à administração de máquinas com diferentes sistemas operativos. Por conseguinte, o conhecimento das funcionalidades de JavaScript é uma mais-valia no currículo de qualquer programador.

Introdução

Neste livro são apresentadas as principais novidades, características e funcionalidades da versão 6 da linguagem JavaScript, com recurso a exemplos práticos. Para além de novos objetos e métodos que foram adicionados aos objetos existentes, esta nova versão introduz também várias novidades ao nível da sintaxe (por exemplo, a definição de classes) que contribuem para simplificar a escrita de código e aumentar a produtividade do programador. 

Conteúdos

O livro começa por apresentar uma breve história da linguagem JavaScript que culminou com a introdução da última versão da especificação ECMAScript (Harmony). De seguida são abordados alguns problemas que podem preocupar o programador que deseja iniciar a escrita de código JavaScript 6.

No capítulo 2 é apresentado o conceito de bloco associado ao uso dos novos termos let e const e, de seguida, são ilustradas algumas das vantagens inerentes ao uso de novas instruções de desestruturação. O capítulo apresenta ainda as várias novidades introduzidas nas APIs dos objetos básicos e culmina com a introdução dos novos tipos de coleções que foram adicionados à nova versão (Set, Map, WeakSet e WeakMap).

O capítulo 3 apresenta uma análise detalhada da criação e utilização de funções, que contribuem para uma melhoria de produtividade do programador. Neste contexto, são abordados tópicos como a inicialização predefinida de parâmetros, a utilização de parâmetros rest, a utilização do operador spread e uma nova propriedade (name). O capítulo refere ainda a nova sintaxe de funções anónimas, nomeadamente o uso de funções arrow.

O capítulo 4 apresenta os conceitos de objetos e classes, nomeadamente algumas alterações introduzidas na definição de novos métodos adicionados ao objeto object, e ainda algumas novidades relacionadas com a definição de classes. Estas alterações simplificam a definição de propriedades e métodos, e introduzem novos termos que simplificam a criação de classes em JavaScript. Foi também introduzido o conceito de proxy que é bastante útil em vários cenários onde é necessário intercetar o acesso aos membros de um objeto.

O capítulo 5 apresenta uma visão sobre os iterators. Na nova versão o JavaScript passa a suportar os conceitos de iterator e iterable. São apresentadas as vantagens associadas ao uso de iterators e outros detalhes relacionados com a criação e utilização deste tipo de elementos em JavaScript. A criação de iterators é simples, especialmente quando recorremos às novas funções geradoras. Não obstante, a introdução de ciclos for of  permite simplificar o código usado para enumerar os items armazenados em todas as coleções classificadas como iterable.

O capítulo 6 aborda as funcionalidades associadas ao uso de símbolos em JavaScript. As propriedades dos objetos no JavaScript são strings e esta liberdade de definir qualquer nome acabou por criar alguns padrões. O JavaScript 6 introduziu o conceito de símbolos que podem ser usados como chave de propriedades, sendo possível criar chaves únicas para as nossas propriedades. A especificação atual permite a criação de novos símbolos locais e globais, e a introdução de um conjunto de símbolos predefinidos, que permitiram tornar públicos muitos dos mecanismos que, até ao momento, eram internos.

O capítulo 7 aborda o conceito de programação assíncrona. Com o lançamento de JavaScript 6, o ambiente de runtime passa a disponibilizar novas funcionalidades que facilitam o programador na área de programação assíncrona. Neste contexto, são analisadas as principais características associadas ao uso de promises. A especificação Harmony introduziu o conceito e define uma API que nos permite simplificar a forma como escrevemos código assíncrono em JavaScript. A título de exemplo, podemos recorrer a funções geradoras para realizar tarefas assíncronas.

O oitavo e último capítulo apresenta o conceito de módulos. Os módulos permitem encapsular porções de código que podem ser consumidas por outras aplicações. Com a especificação do conceito de módulos, passamos a ter um mecanismo comum para a definição destes elementos em todos os ambientes de runtime existentes.

Conclusão

Nos dias que correm não há dúvida quanto à importância da linguagem JavaScript, pelo que o conhecimento das suas funcionalidades é uma mais-valia no currículo de qualquer programador.

O JavaScript é uma linguagem dinâmica, cuja correta utilização pressupõe o uso de determinados padrões de programação, que já não são muito diferentes daqueles usados pelas linguagens tradicionais de desenvolvimento orientado a objetos.

Para além de introduzir as novidades da nova versão JavasScript 6, este livro apresenta várias recomendações que contribuem para a escrita de bom código JavaScript.

De realçar que todas as funcionalidades e caraterísticas apresentadas não dependem de nenhum ambiente de runtime específico, fazendo assim com que esta obra seja adequada não apenas para programadores Web, mas também para todas as pessoas interessadas em usar JavaScript.

Publicado na edição 52 (PDF) da Revista PROGRAMAR.