Você está na página 1de 20

ECMAScript

e JavaScript
A criação do nome JavaScript
A Netscape resolveu criar uma linguagem de programação que ficaria embutida no navegador. Assim
surgiu a ideia da linguagem Mocha (um tipo de café). Em seguida esse nome foi trocado para
LiveScript. E para aproveitar a fama do Java, a Netscape resolveu mudar o nome da sua linguagem
para JavaScript.

O nome Java vem da Ilha de Java, principal ilha da Indonésia. O café que ela produzia era tão famoso mundialmente entre os
séculos XIX e XX que até hoje a palavra “Java” é sinônimo de café em alguns países.
11/11/2023
Problemas autorais
O nome Javascript está sobre domínio da Oracle, e como a empresa nunca fez um logo para a
linguagem, até hoje, Javascript não tem um logo ou marca oficial!

11/11/2023
Imagine o caos que seria cada
navegador com sua própria
linguagem. A ideia da web é
funcionar igual para todos.

– NETSCAPE
O que é a ECMA
É uma associação fundada em 1961 dedicada à padronização de sistemas de informação.

11/11/2023
ECMAScript
Devido ao nome já estar registrado, a ECMA precisou registrar outro nome. Assim surgiu o
ECMAScript. Porém, como o nome JavaScript já estava famoso, continuamos chamando a linguagem
assim até hoje em todos os lugares.

Graças a essas regras, você também pode usar a especificação de uma linguagem como base para criar
a sua própria linguagem de programação.

11/11/2023
Qual a diferença entre
ECMAScript e JavaScript?
Há pessoas que defendem que estamos atualmente utilizando ECMAScript, e que o nome JavaScript é
usado apenas por costume, já que esse nome pertence à Oracle.

Em resumo, é como se o ECMAScript fosse a receita de um bolo e o JavaScript fosse o bolo de


verdade, em sua forma mais pura e fiel à receita original. ActionScript, UnityScript e JScript seriam os
“outros sabores”.

11/11/2023
undefined

ES6 - Default Parameters


Aqui há um problema simples do que acontece se executar uma multiplicação quando uma das
variáveis está sem valor ou undefined:

11/11/2023
undefined

ES6 - Default Parameters


Aqui está uma solução: definir um valor padrão caso não seja passado nenhum valor.

11/11/2023
ES6 - Template Literals
Com elas, é possível concatenar strings de forma mais fácil e legível, além de poder avaliar expressões
dentro de uma string.

Antes Depois

11/11/2023
ES6 - Template Literals
Tem propriedade multilinha.

11/11/2023
ES6 - Template Literals
Tem propriedade de interpolação de variáveis com o uso de ${ }

11/11/2023
ES6 - Template Literals
É possível fazer o uso de expressões dentro do texto.

11/11/2023
ES6 - Destructuring
Permite desestruturar arrays ou objetos em variáveis separadas. Isso significa que, ao invés de acessar os
elementos de um objeto ou array por índice ou chave, é possível atribuir os valores diretamente a variáveis.

11/11/2023
O que é strict mode?
Strict Mode é uma opção de "modo restrito" que pode ser habilitada em um script JavaScript. Quando
habilitado, o Strict Mode altera o comportamento do JavaScript de algumas formas para torná-lo mais
rigoroso e seguro. Alguns dos comportamentos que mudam incluem:
• Proibição de uso de variáveis não declaradas
• Restrição no uso de certas palavras-chave como "eval" e "arguments" como nomes de variáveis
• Maior rigor na verificação de tipos
• Proibição de escrita em propriedades de objetos marcadas como "read-only"

11/11/2023
O que é Hoisting?
Hoisting é um comportamento do JavaScript que consiste em mover todas as declarações de variáveis
e funções para o topo do escopo em que são declaradas. Isso significa que, independentemente de onde
uma declaração de variável ou função seja escrita no código, ela é "levantada" (hoisted) para o topo do
escopo.

11/11/2023
Qual a diferença de var, let e
const?
• "var" é a forma mais antiga de declarar variáveis em JavaScript. Ela tem escopo de função e,
se não estiver dentro de uma função, terá escopo global. Variáveis declaradas com "var"
também podem ser reatribuídas ao longo do código.

11/11/2023
Qual a diferença de var, let e
const?
"let" é semelhante a "var", mas tem escopo de bloco, o que significa que sua existência e
acessibilidade estão limitadas ao bloco de código em que foram declaradas. Além disso, "let"
não permite que a variável seja reatribuída com o mesmo nome dentro do mesmo escopo.

11/11/2023
Qual a diferença de var, let e
const?
"const" é similar a "let", mas as variáveis declaradas com "const" são imutáveis, ou seja, uma
vez atribuído um valor, ele não pode ser alterado. "const" também tem escopo de bloco.

11/11/2023
Qual a diferença entre for, forEach
e for.. of ?
• "for" é a estrutura de repetição mais comum e versátil. É usada para repetir uma série de
instruções enquanto uma condição é verdadeira. É possível controlar o número de iterações, o
incremento de uma variável de controle e a inicialização desta variável.

• "forEach" é uma função disponível em arrays em JavaScript que itera sobre cada elemento do
array e executa uma função fornecida como argumento para cada um. "forEach" é útil quando se
quer realizar a mesma ação para cada elemento de um array, sem precisar escrever um loop "for".

• "for...of" é uma estrutura de repetição usada para iterar sobre valores em objetos iteráveis, como
arrays, strings e objetos personalizados. "for...of" é mais curto e legível que o "forEach",
especialmente quando se precisa de acesso ao índice ou ao número de iterações.

11/11/2023

Você também pode gostar