Saspi 4

Ult Combo's Front-end/JS mini-course

  • Funções - Function Declarations (FD) e Function Expressions (NFE, IIFE)
  • Contextos de execução, entendendo a keyword this
  • Escopo de variáveis, hoisting, escopo léxico, modo estrito
  • Coerções de tipo, algoritmos internos (ToBoolean, ToNumber, Abstract Equality Comparison)
  • Modelos de execução síncrono e assíncrono
  • Delegação de eventos / Ajax
  • Namespacing e Patterns de instanciação de objetos (Construtores, Object.create, factory, singleton)
  • Bibliotecas e níveis de abstração

JavaScript

  • Linguagem de programação interpretada
  • Tipamento dinâmico
  • Escopo léxico
  • Closures
  • Herança prototípica
  • Funções de primeira classe
  • Forte orientação a objetos

Nomenclatura


Inicialmente chamada de Mocha, então LiveScript, a linguagem foi finalmente renomeada para JavaScript.

Isto se deve possivelmente a parceria entre Netscape e Sun Microsystems da época. Muitos também categorizam isto como uma jogada de marketing da Netscape, vendo que Java era a linguagem web quente do momento.

Até hoje o nome JavaScript causa confusão para quem está começando, pois JavaScript não possui relação com Java.

ECMAScript

É o nome da linguagem de programação padronizada pela Ecma International na especificação ECMA-262.

JavaScript moderno é uma implementação do ECMAScript, logo segue a especificação ECMA-262.

Note que JavaScript surgiu antes do ECMAScript.

Momento histórico

JavaScript nasceu na empresa Netscape, desenvolvido por Brendan Eich.
Seu sucesso foi tão grande que a Microsoft desenvolveu um dialeto compatível, chamado JScript (para não infringir marcas registradas).
A Netscape então submeteu o JavaScript para a Ecma International para consideração como um padrão industrial.
Desta forma, surgiu a especificação ECMA-262, que se refere a linguagem como ECMAScript.

Momento histórico

Assim sendo, pode-se dizer que ECMAScript é o JavaScript padronizado.


Todas implementações recentes do JavaScript seguem o padrão ECMA-262.

(embora certas implementações tenham algumas adições)

Logo, ECMAScript e JavaScript são quase que sinônimos, sendo ES a especificação e JS a implementação.


Note que também surgiram outras implementações derivadas do ECMAScript, como ActionScript por exemplo.

Edições do ECMA-262


  • Edition 3 (1999) - Suportada por basicamente todos browsers lançados na última década que suportam JavaScript.
  • Edition 4 - Abandonada.
  • Edition 5 (2009) - Amplamente suportada por browsers modernos (IE a partir da versão 9).
  • Edition 5.1 (2011) - Corrige alguns erros e ambiguidades do documento da Edição 5, nada novo acrescentado.
  • ES6 / ES.next / ES Harmony - Rascunhos da(s) próxima(s) especificação(ões).

Edições do ECMA-262


Este minicurso é focado na especificação oficial mais recente (Edição 5.1). Existem também shims para uma boa parte dos recursos introduzidos nesta edição, caso seja necessária compatibilidade com browsers mais antigos.

Made with Slides.com