ecmascript - versão extendida
TRANSCRIPT
ECMAScript
JSFernanda Bernardo
http://fernandabernardo.com.br
FernandaBernardo
@Feh_Bernardo
Fernanda Bernardo
Engenheira de Software @ Elo7
Mentora @Training Center
O que é
EcmaScript?
ECMAScript is the scripting language that forms
the basis of JavaScript. ECMAScript is standardized
by the ECMA International standards organization
in the ECMA-262 and ECMA-402 specifications.
developer.mozilla.org
Qual a sua
história?
1995
1995 1996
1995 1996
O que é TC39?
Grupo organizado pela Ecma International.
Faz o design do EcmaScript
https://github.com/tc39/proposals/blob/master/inactive-proposals.md
https://github.com/tc39/proposals
https://github.com/tc39/proposals
stage 0
só ideia, TC39
não discutiu
stage 1
TC39 decidiu
discutir
stage 0
só ideia, TC39
não discutiu
stage 1
TC39 decidiu
discutir
stage 0
só ideia, TC39
não discutiu
stage 2
mais
discussão
stage 1
TC39 decidiu
discutir
stage 3
ajustes, testes
unidade, 2
implementações
stage 0
só ideia, TC39
não discutiu
stage 2
mais
discussão
stage 1
TC39 decidiu
discutir
stage 3
ajustes, testes
unidade, 2
implementações
stage 0
só ideia, TC39
não discutiu
stage 4
proposta
finalizada
stage 2
mais
discussão
https://github.com/tc39/proposals/blob/master/finished-proposals.md
Você sabe o que faz parte do ES7(2016)?
Async
Trailing
Comma
Object.values
Object.entries
Array#includes
padStart / padEnd
Exponentiation
Operators
Async
Trailing
Comma
Object.values
Object.entries
Array#includes
padStart / padEnd
Exponentiation
Operators
ES7
Array.prototype.includes
https://github.com/tc39/Array.prototype.includes/
Array.prototype.includes
1 2 32 in
https://github.com/tc39/Array.prototype.includes/
Array.prototype.includes
1 2 32 in
https://github.com/tc39/Array.prototype.includes/
Array.prototype.includes
1 2 32 in
https://github.com/tc39/Array.prototype.includes/
Array.prototype.includes
1 2 32 in
https://github.com/tc39/Array.prototype.includes/
Array.prototype.includes
1 2 32 in
https://github.com/tc39/Array.prototype.includes/
Array.prototype.includes
https://github.com/tc39/Array.prototype.includes/
Array.prototype.includes
https://github.com/tc39/Array.prototype.includes/
Array.prototype.includes
https://github.com/tc39/Array.prototype.includes/
Array.prototype.includes
Porque includes?
E não contains?
Exponentiation Operator
https://github.com/rwaldron/exponentiation-operator
Exponentiation Operator
23 = 8
https://github.com/rwaldron/exponentiation-operator
Exponentiation Operator
23 = 8
https://github.com/rwaldron/exponentiation-operator
Exponentiation Operator
23 = 8
https://github.com/rwaldron/exponentiation-operator
Exponentiation Operator
23 = 8
https://github.com/rwaldron/exponentiation-operator
Exponentiation Operator
23 = 8
ES8 (2017)
Object.values / Object.entries
Object.values
https://github.com/tc39/proposal-object-values-entries
Object.values
https://github.com/tc39/proposal-object-values-entries
Object.entries
https://github.com/tc39/proposal-object-values-entries
https://github.com/tc39/proposal-object-values-entries
Object.entries
https://github.com/tc39/proposal-object-values-entries
Object.entries
String padding
padStart
https://github.com/tc39/proposal-string-pad-start-end
padStart
https://github.com/tc39/proposal-string-pad-start-end
padStart
https://github.com/tc39/proposal-string-pad-start-end
padStart
https://github.com/tc39/proposal-string-pad-start-end
padEnd
https://github.com/tc39/proposal-string-pad-start-end
Object.getOwnPropertyDescriptors
getOwnPropertyDescriptors
https://github.com/tc39/proposal-object-getownpropertydescriptors
getOwnPropertyDescriptors
https://github.com/tc39/proposal-object-getownpropertydescriptors
getOwnPropertyDescriptors
https://github.com/tc39/proposal-object-getownpropertydescriptors
getOwnPropertyDescriptors
https://github.com/tc39/proposal-object-getownpropertydescriptors
getOwnPropertyDescriptors
https://github.com/tc39/proposal-object-getownpropertydescriptors
getOwnPropertyDescriptors
https://github.com/tc39/proposal-object-getownpropertydescriptors
getOwnPropertyDescriptors
https://github.com/tc39/proposal-object-getownpropertydescriptors
getOwnPropertyDescriptors
https://github.com/tc39/proposal-object-getownpropertydescriptors
getOwnPropertyDescriptors
https://github.com/tc39/proposal-object-getownpropertydescriptors
getOwnPropertyDescriptors
https://github.com/tc39/proposal-object-getownpropertydescriptors
getOwnPropertyDescriptors
https://github.com/tc39/proposal-object-getownpropertydescriptors
getOwnPropertyDescriptors
https://github.com/tc39/proposal-object-getownpropertydescriptors
Trailing Commas
trailing commas
https://github.com/tc39/proposal-trailing-function-commas
trailing commas
https://github.com/tc39/proposal-trailing-function-commas
trailing commas
https://github.com/tc39/proposal-trailing-function-commas
trailing commas
https://github.com/tc39/proposal-trailing-function-commas
trailing commas
https://github.com/tc39/proposal-trailing-function-commas
trailing commas
https://github.com/tc39/proposal-trailing-function-commas
Async Functions
Promise?
Promise?
ES6
new Promise()
resolve reject
catch()then()
Async Functions
https://github.com/tc39/ecmascript-asyncawait
Async Functions
https://github.com/tc39/ecmascript-asyncawait
Async Functions
https://github.com/tc39/ecmascript-asyncawait
Async Functions
https://github.com/tc39/ecmascript-asyncawait
Async Functions
https://github.com/tc39/ecmascript-asyncawait
Async Functions
https://github.com/tc39/ecmascript-asyncawait
Async Functions
https://github.com/tc39/ecmascript-asyncawait
Async Functions
https://github.com/tc39/ecmascript-asyncawait
Async Functions
https://github.com/tc39/ecmascript-asyncawait
Async Functions
https://github.com/tc39/ecmascript-asyncawait
Async Functions
https://github.com/tc39/ecmascript-asyncawait
Async Functions
https://github.com/tc39/ecmascript-asyncawait
Async Functions
https://github.com/tc39/ecmascript-asyncawait
O que vem por aí...
ES 2018
Template Literals Revision
Template Literals Revision
https://github.com/tc39/proposal-template-literal-revision
Template Literals Revision
https://github.com/tc39/proposal-template-literal-revision
Template Literals Revision
https://github.com/tc39/proposal-template-literal-revision
Template Literals Revision
https://github.com/tc39/proposal-template-literal-revision
Template Literals Revision
https://github.com/tc39/proposal-template-literal-revision
Template Literals Revision
https://github.com/tc39/proposal-template-literal-revision
Template Literals Revision
https://github.com/tc39/proposal-template-literal-revision
Template Literals Revision
https://github.com/tc39/proposal-template-literal-revision
Template Literals Revision
https://github.com/tc39/proposal-template-literal-revision
Template Literals Revision
https://github.com/tc39/proposal-template-literal-revision
E dá para contribuir?
Bibliografia
- http://exploringjs.com/es2016-es2017/
- http://2ality.com/2016/09/template-literal-revision.html
- https://github.com/tc39/ecma262
- https://developer.mozilla.org/pt-BR/
- https://hipsters.tech/evolucao-e-especificacao-do-javascript-moderno/
http://fernandabernardo.com.br
FernandaBernardo
@Feh_Bernardo