JavaScript Essencial
Guia Prático para Estudantes
Descrição do livro
JavaScript é uma linguagem de script usada em milhões de páginas web em todo o mundo, e desenvolvedores e webdesigners não podem prescindir do conhecimento dessa poderosa linguagem.
Este livro aborda os fundamentos da linguagem JavaScript, desde os conceitos mais básicos de programação web até orientação a objetos. Descreve seus objetos, construtores, propriedades, métodos, eventos e constantes, conforme definidos pelas recomendações da ECMAScript 2015, também conhecida como ES6, a versão mais recente e estável da linguagem JavaScript moderna.
Destina-se a estudantes e iniciantes que possuem conhecimento da linguagem de marcação HTML e de CSS, e estejam interessados na criação de aplicativos web e mobile. Mesmo para quem já possui conhecimento intermediário de JavaScript, o livro oferece uma excelente oportunidade de rever conceitos e até mesmo incorporar novos conceitos ao seu conhecimento.
No site de apoio ao livro (https://livrosdomaujor.com.br/jsessencial), o leitor encontrará os códigos-fonte para download e informações complementares sobre o livro, além de exemplos práticos, disponíveis online para consulta e download.
Ver menos ▲Sumário
- Agradecimentos
- Isenção de responsabilidade
- Sobre o autor
- Introdução
- Capítulo 1 Introdução à JavaScript
- 1.1 Histórico
- 1.2 Transpilers JavaScript
- 1.3 Ambientes de estudo
- 1.4 Começando com JavaScript
- 1.4.1 Objeto
- 1.4.2 Caixas de diálogo
- 1.4.3 Codificação de caracteres em JavaScript
- 1.4.4 Escrever HTML com JavaScript
- 1.4.5 Eventos
- 1.4.6 Atrelar JavaScript a documentos
- 1.4.7 Import e export
- 1.4.8 Estrutura léxica da JavaScript
- 1.4.9 Variáveis
- 1.4.10 Operador typeof
- 1.4.11 Valores primitivos
- 1.4.12 Funções
- 1.4.13 Palavras reservadas let e const
- 1.4.14 Hoisting
- 1.5 DOM HTML
- 1.6 DOM CSS
- Capítulo 2 Operadores
- 2.1 Introdução
- 2.2 Operadores
- 2.2.1 Operandos
- 2.2.2 Precedência dos operadores
- 2.2.3 Associatividade dos operadores
- 2.3 Operações matemáticas
- 2.4 Operações lógicas
- 2.4.1 Operador lógico &&
- 2.4.2 Operador lógico ||
- 2.4.3 Operador lógico !
- 2.5 Operações com strings
- 2.6 Operações de atribuição
- 2.7 Operações especiais
- 2.7.1 Operador condicional ? :
- 2.7.2 Operador de separação , (vírgula)
- 2.7.3 Operador delete
- 2.7.4 Operador in
- 2.7.5 Operador instanceof
- 2.7.6 Operador new
- 2.7.7 Operador this
- 2.7.8 Operador typeof
- 2.7.9 Operador ()
- 2.7.10 Operador void
- 2.7.11 Operador spread
- Capítulo 3 Declarações e estruturas
- 3.1 Declarações
- 3.1.1 var, let, const
- 3.1.2 Arrow function
- 3.1.3 return
- 3.2 Estruturas condicionais
- 3.2.1 if
- 3.2.2 else
- 3.2.3 else if
- 3.2.4 switch
- 3.3 Estruturas para loops
- 3.3.1 for
- 3.3.2 while
- 3.3.3 do–while
- 3.3.4 for–in
- 3.3.5 for–of
- 3.4 ObjetoError
- 3.4.1 message
- 3.4.2 name
- 3.4.3 toString()
- 3.5 try–catch–finally
- 3.6 throw
- 3.7 with
- 3.1 Declarações
- Capítulo 4 Objeto
- 4.1 Objeto
- 4.1.1 Sintaxe formal
- 4.1.2 Sintaxe literal
- 4.2 Construtor
- 4.3 prototype
- 4.4 Classes
- 4.1 Objeto
- Capítulo 5 Array
- 5.1 Fundamentos
- 5.1.1 Array associativo
- 5.2 Propriedades do objeto Array
- 5.2.1 constructor
- 5.2.2 prototype
- 5.2.3 length
- 5.3 Métodos do objeto Array
- 5.3.1 Array isArray(param)
- 5.3.2 concat(arr1 [, arr2, ... arrN])
- 5.3.3 join([separador])
- 5.3.4 indexOf(el [,inicio])
- 5.3.5 lastIndexOf(el [,inicio])
- 5.3.6 keys()
- 5.3.7 includes(elemento [,inicio])
- 5.3.8 shift()
- 5.3.9 pop()
- 5.3.10 unshift(elemento [,elemento1, ..., elementoN])
- 5.3.11 push(elemento [,elemento1, ..., elementoN])
- 5.3.12 splice(posição [,qde, elemento1..., elementoN])
- 5.3.13 valueOf()
- 5.3.14 copyWithin(index [,inicio [,fim]])
- 5.3.15 fill(el [,inicio [,fim])
- 5.3.16 every(fn(el, [index [,arr]) [,thisValue])
- 5.3.17 some(fn(el [,index[,arr]] [,thisValue])
- 5.3.18 find(fn(el, [index[,arr]) [,thisValue])
- 5.3.19 findIndex(fn(el, [index[,arr]) [,thisValue])
- 5.3.20 filter(fn(el, [index[,arr]) [,thisValue])
- 5.3.21 map(fn(el, [index[,arr]) [,thisValue])
- 5.3.22 forEach(fn(el, [index], [arr]), [thisValue])
- 5.3.23 reduce(fn(acc, valorAtual[,index[,arr]) [,valorInicial])
- 5.3.24 reduceRight(fn(acumulador, valorAtual[,index[,arr]) [,valorInicial])
- 5.3.25 reverse()
- 5.3.26 slice(inicio [,fim])
- 5.3.27 sort([fnComparadora])
- 5.3.28 toString()
- 5.3.1 Array isArray(param)
- 5.4 Atribuição via desestruturação (Destructuring assignment)
- 5.1 Fundamentos
- Capítulo 6 Funções
- 6.1 Introdução
- 6.2 Criando funções
- 6.2.1 Declaração function
- 6.2.2 Sintaxe literal – Função anônima
- 6.2.3 Construtor Function()
- 6.3 Retornando objetos
- 6.3.1 Função retorna array indexado
- 6.3.2 Função retorna array associativo
- 6.4 IIFE – Autoinvocar função
- 6.5 Escopo de uma função
- 6.5.1 Sintaxe ES5
- 6.6 Closures
- 6.7 Funções globais
- 6.7.1 encodeURI(uri)
- 6.7.2 decodeURI(uriCodificada)
- 6.7.3 encodeURIComponent(str)
- 6.7.4 decodeURIComponent(uriCodificada)
- 6.7.5 eval(código)
- 6.7.6 isFinite(valor)
- 6.7.7 isNaN(valor)
- 6.7.8 parseFloat(string)
- 6.7.9 parseInt(string[, base])
- 6.8 Miscelânea
- 6.8.1 arguments
- 6.8.2 default parameters
- 6.8.3 rest parameters
- 6.8.5 call(this, argumentos)
- 6.8.6 apply(this, array)
- 6.8.7 setTimeout(fn [,delay, param1, ..., paramN])
- 6.8.8 clearTimeout(timeoutID)
- 6.8.9 setInterval(fn [,delay, param1, ..., paramN])
- 6.8.10 clearInterval(intervalID)
- Capítulo 7 Eventos
- 7.1 Introdução
- 7.2 Atrelar evento com uso de propriedade
- 7.3 Atrelar evento com uso de método
- 7.3.1 addEventListener(evento, fn[, useCapture])
- 7.3.2 removeEventListener(evento, fn [, useCapture])
- 7.4 Propagação de eventos
- 7.5 Objeto event
- 7.5.1 Propriedades do objeto event
- 7.6 Tipos de eventos
- 7.6.1 Eventos de mouse
- 7.6.2 Eventos de teclado
- 7.6.3 Eventos HTML
- 7.7 Delegação de evento
- 7.8 Remoção de manipulador de evento
- Capítulo 8 Objeto String
- 8.1 Definições
- 8.1.1 String como tipo de dado
- 8.1.2 String como objeto
- 8.2 Criar strings
- 8.3 Propriedades das strings
- 8.3.1 length
- 8.3.2 constructor
- 8.3.3 prototype
- 8.4 Métodos para strings
- 8.4.1 charAt(index)
- 8.4.2 charCodeAt(index)
- 8.4.3 concat(string1, string2,...,stringN)
- 8.4.4 endsWith(stringProcurada [,indexFim])
- 8.4.5 fromCharCode(uni1, uni2,...,uniN)
- 8.4.6 includes(stringProcurada [,inicio])
- 8.4.7 indexOf(stringProcurada [,inicio])
- 8.4.8 lastIndexOf(stringProcurada [,inicio])
- 8.4.9 localeCompare(string)
- 8.4.10 repeat(count)
- 8.4.11 match(expreg)
- 8.4.12 replace(string | expreg, novaString | fn)
- 8.4.13 search(expreg)
- 8.4.14 slice(inicio [,fim])
- 8.4.15 split([separador [,limite]])
- 8.4.16 startsWith(stringProcurada [,inicio])
- 8.4.17 substring(inicio [,fim])
- 8.4.18 toLowerCase()
- 8.4.19 toString()
- 8.4.20 toUpperCase()
- 8.4.21 trim()
- 8.1 Definições
- Capítulo 9 Objeto Number
- 9.1 Construtor
- 9.2 Propriedades do objeto Number
- 9.2.1 MAX_VALUE
- 9.2.2 MIN_VALUE
- 9.2.3 POSITIVE_INFINITY
- 9.2.4 NEGATIVE_INFINITY
- 9.2.5 constructor
- 9.2.6 prototype
- 9.3 Métodos do objeto Number
- 9.3.1 Number isFinite(valor)
- 9.3.2 Number isInteger(valor)
- 9.3.3 Number parseFloat(string)
- 9.3.4 Number parseInt(string [,base])
- 9.3.5 toString([base])
- 9.3.6 toFixed([digitos])
- 9.3.7 toPrecision([digitos])
- 9.3.8 toExponential([dígitos])
- Capítulo 10 Objeto Math
- 10.1 Conceitos
- 10.2 Propriedades do objeto Math
- 10.3 Métodos do objeto Math
- 10.3.1 abs(x)
- 10.3.2 sign(x)
- 10.3.3 max(x, y, z, ..., n)
- 10.3.4 min(x, y, z, ..., n)
- 10.3.5 hypot(x, y, ..., n)
- 10.3.6 round(x)
- 10.3.7 floor(x)
- 10.3.8 ceil(x)
- 10.3.9 trunc(x)
- 10.3.10 pow(x, y)
- 10.3.11 sqrt(x)
- 10.3.12 random()
- 10.3.13 exp(x)
- 10.3.14 log(x)
- 10.3.15 log10(x)
- 10.3.16 log2(x)
- 10.3.17 log1p(x)
- 10.3.18 sin(x)
- 10.3.19 cos(x)
- 10.3.20 tan(x)
- 10.3.21 asin(x)
- 10.3.22 acos(x)
- 10.3.23 atan(x)
- 10.3.24 atan2(y, x)
- Capítulo 11 Objeto Date
- 11.1 Introdução
- 11.2 Construtor
- 11.2.1 new Date()
- 11.2.2 new Date(milissegundos)
- 11.2.3 new Date(data_string)
- 11.2.4 new Date(ano,mês[,dia][,hora][,minuto][,segundo][,milissegundo])
- 11.3 Métodos get do objeto Date
- 11.3.1 getDate()
- 11.3.2 getFullYear()
- 11.3.3 getMouth()
- 11.3.4 getDay()
- 11.3.5 getHours()
- 11.3.6 getMinutes()
- 11.3.7 getSeconds()
- 11.3.8 getMillliseconds()
- 11.3.9 getTime()
- 11.3.10 getTimezoneOffset()
- 11.4 Métodos set do objeto Date
- 11.4.1 setDate(dia_do_mês)
- 11.4.2 setYear(ano)
- 11.4.3 setFullYear(ano [,mês][,dia])
- 11.4.4 setMonth(month [,dia])
- 11.4.5 setHours(hora [,min][,seg][,ms])
- 11.4.6 setMinutes(min [,seg][,ms])
- 11.4.7 setSeconds(seg [,ms])
- 11.4.8 setMilliseconds(ms)
- 11.4.9 setTime(ms)
- 11.5 Outros métodos do objeto Date
- 11.5.1 toLocaleDateString()
- 11.5.2 toTimeString()
- 11.5.3 toLocaleTimeString()
- 11.5.4 toUTCString()
- 11.5.5 toString()
- 11.5.6 toGMTString()
- 11.6 Manipulação de datas
- 11.6.1 Contagem regressiva
- Capítulo 12 Objeto RegExp
- 12.1 Introdução
- 12.2 Construtor
- 12.3 Modificador
- 12.4 Caracteres especiais
- 12.4.1 Agrupadores
- 12.4.2 Metacaracteres
- 12.4.3 Quantificadores
- 12.4.4 Memorizador
- 12.5 Métodos do objeto RegExp
- 12.5.1 test(str)
- 12.5.2 exec(str)
- 12.5.3 Métodos auxiliares
- 12.6 Busca e troca
- Capítulo 13 JSON
- 13.1 Introdução
- 13.2 JSON simples
- 13.3 JSON com arrays
- 13.4 JSON aninhado
- 13.5 Métodos JSON
- 13.5.1 Método JSON stringify()
- 13.6 API
- Capítulo 14 AJAX
- 14.1 Introdução
- 14.2 AJAX com API fetch
- 14.2.1 Promises
- 14.3.2 API Países
- 14.3 AJAX com Axios
- 14.3.1 API REQRES
- Capítulo 15 CRUD com Node js e Express
- 15.1 Introdução
- 15.2 Node js
- 15.3 Ambiente de desenvolvimento
- 15.3.1 Instalação do Node js
- 15.3.2 CLI
- 15.4 REST API
- 15.5 Apresentação da app livros
- 15.6 CRUD na app livros
- 15.6.1 Método GET
- 15.6.2 Método POST
- 15.6.3 Método PATCH
- 15.6.4 Método DELETE
- 15.6.5 POSTMAN
- 15.6.6 Teste da app crud-livros
- 15.6.7 Nota final
- Capítulo 16 ES6 Miscelânea
- 16.1 Introdução
- 16.2 Módulos ES6
- 16.2.1 Sintaxes
- 16.2.2 Renomear importação e exportação
- 16.2.3 Notas gerais sobre módulos
- 16.3 Tratamento de erros
- 16.3.1 Tipos de erros
- 16.3.2 Instrução throw
- 16.3.3 Bloco try catch finally
- 16.4 Maps e sets
- 16.4.1 Map
- 16.4.2 WeakMap
- Referências bibliográficas
- Índice remissivo
Sobre o autor
Maurício Samy Silva é graduado em Engenharia Civil pelo Instituto Militar de Engenharia (IME). Exerceu o magistério paralelamente à Engenharia e foi professor de Geometria Descritiva e Matemática. Sua experiência com desenvolvimento iniciou-se em 1999. Em 2003 lançou o site https://maujor.com, que se tornou referência nacional em CSS, com a… Ver perfil completo ▶
Livros relacionados
Recursos
Opinião dos leitores
Lucimara de S T
O livro é para uma pessoa que já tenha conhecimento, é um bom livro.
Vicente E R M
Fantástico, o Maujor aborda de forma simples e didática, dando uma contribuição fenomenal para quem está, como eu, iniciando no JavaScript!
José O
Excelente compilado do que é realmente importante para um desenvolvedor front-end conhecer do JavaScript. Mestre Maujor, excelente, como sempre.






