ecmascript - versão extendida

110
ECMAScript JS Fernanda Bernardo

Upload: fernanda-bernardo

Post on 22-Jan-2018

477 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Ecmascript - Versão extendida

ECMAScript

JSFernanda Bernardo

Page 2: Ecmascript - Versão extendida

http://fernandabernardo.com.br

FernandaBernardo

@Feh_Bernardo

Fernanda Bernardo

Engenheira de Software @ Elo7

Mentora @Training Center

Page 3: Ecmascript - Versão extendida

O que é

EcmaScript?

Page 4: Ecmascript - Versão extendida

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

Page 5: Ecmascript - Versão extendida

Qual a sua

história?

Page 6: Ecmascript - Versão extendida

1995

Page 7: Ecmascript - Versão extendida

1995 1996

Page 8: Ecmascript - Versão extendida

1995 1996

Page 9: Ecmascript - Versão extendida
Page 10: Ecmascript - Versão extendida
Page 11: Ecmascript - Versão extendida

O que é TC39?

Grupo organizado pela Ecma International.

Faz o design do EcmaScript

Page 12: Ecmascript - Versão extendida

https://github.com/tc39/proposals/blob/master/inactive-proposals.md

Page 13: Ecmascript - Versão extendida

https://github.com/tc39/proposals

Page 14: Ecmascript - Versão extendida

https://github.com/tc39/proposals

Page 15: Ecmascript - Versão extendida

stage 0

só ideia, TC39

não discutiu

Page 16: Ecmascript - Versão extendida

stage 1

TC39 decidiu

discutir

stage 0

só ideia, TC39

não discutiu

Page 17: Ecmascript - Versão extendida

stage 1

TC39 decidiu

discutir

stage 0

só ideia, TC39

não discutiu

stage 2

mais

discussão

Page 18: Ecmascript - Versão extendida

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

Page 19: Ecmascript - Versão extendida

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

Page 20: Ecmascript - Versão extendida

https://github.com/tc39/proposals/blob/master/finished-proposals.md

Page 21: Ecmascript - Versão extendida

Você sabe o que faz parte do ES7(2016)?

Page 22: Ecmascript - Versão extendida

Async

Trailing

Comma

Object.values

Object.entries

Array#includes

padStart / padEnd

Exponentiation

Operators

Page 23: Ecmascript - Versão extendida

Async

Trailing

Comma

Object.values

Object.entries

Array#includes

padStart / padEnd

Exponentiation

Operators

ES7

Page 24: Ecmascript - Versão extendida
Page 25: Ecmascript - Versão extendida

Array.prototype.includes

Page 26: Ecmascript - Versão extendida

https://github.com/tc39/Array.prototype.includes/

Array.prototype.includes

1 2 32 in

Page 27: Ecmascript - Versão extendida

https://github.com/tc39/Array.prototype.includes/

Array.prototype.includes

1 2 32 in

Page 28: Ecmascript - Versão extendida

https://github.com/tc39/Array.prototype.includes/

Array.prototype.includes

1 2 32 in

Page 29: Ecmascript - Versão extendida

https://github.com/tc39/Array.prototype.includes/

Array.prototype.includes

1 2 32 in

Page 30: Ecmascript - Versão extendida

https://github.com/tc39/Array.prototype.includes/

Array.prototype.includes

1 2 32 in

Page 31: Ecmascript - Versão extendida

https://github.com/tc39/Array.prototype.includes/

Array.prototype.includes

Page 32: Ecmascript - Versão extendida

https://github.com/tc39/Array.prototype.includes/

Array.prototype.includes

Page 33: Ecmascript - Versão extendida

https://github.com/tc39/Array.prototype.includes/

Array.prototype.includes

Page 34: Ecmascript - Versão extendida

https://github.com/tc39/Array.prototype.includes/

Array.prototype.includes

Page 35: Ecmascript - Versão extendida

Porque includes?

E não contains?

Page 36: Ecmascript - Versão extendida

Exponentiation Operator

Page 37: Ecmascript - Versão extendida

https://github.com/rwaldron/exponentiation-operator

Exponentiation Operator

23 = 8

Page 38: Ecmascript - Versão extendida

https://github.com/rwaldron/exponentiation-operator

Exponentiation Operator

23 = 8

Page 39: Ecmascript - Versão extendida

https://github.com/rwaldron/exponentiation-operator

Exponentiation Operator

23 = 8

Page 40: Ecmascript - Versão extendida

https://github.com/rwaldron/exponentiation-operator

Exponentiation Operator

23 = 8

Page 41: Ecmascript - Versão extendida

https://github.com/rwaldron/exponentiation-operator

Exponentiation Operator

23 = 8

Page 42: Ecmascript - Versão extendida
Page 43: Ecmascript - Versão extendida
Page 44: Ecmascript - Versão extendida
Page 45: Ecmascript - Versão extendida

ES8 (2017)

Page 46: Ecmascript - Versão extendida

Object.values / Object.entries

Page 47: Ecmascript - Versão extendida

Object.values

https://github.com/tc39/proposal-object-values-entries

Page 48: Ecmascript - Versão extendida

Object.values

https://github.com/tc39/proposal-object-values-entries

Page 49: Ecmascript - Versão extendida

Object.entries

https://github.com/tc39/proposal-object-values-entries

Page 50: Ecmascript - Versão extendida

https://github.com/tc39/proposal-object-values-entries

Object.entries

Page 51: Ecmascript - Versão extendida

https://github.com/tc39/proposal-object-values-entries

Object.entries

Page 52: Ecmascript - Versão extendida

String padding

Page 53: Ecmascript - Versão extendida

padStart

https://github.com/tc39/proposal-string-pad-start-end

Page 54: Ecmascript - Versão extendida

padStart

https://github.com/tc39/proposal-string-pad-start-end

Page 55: Ecmascript - Versão extendida

padStart

https://github.com/tc39/proposal-string-pad-start-end

Page 56: Ecmascript - Versão extendida

padStart

https://github.com/tc39/proposal-string-pad-start-end

Page 57: Ecmascript - Versão extendida

padEnd

https://github.com/tc39/proposal-string-pad-start-end

Page 58: Ecmascript - Versão extendida

Object.getOwnPropertyDescriptors

Page 59: Ecmascript - Versão extendida

getOwnPropertyDescriptors

https://github.com/tc39/proposal-object-getownpropertydescriptors

Page 60: Ecmascript - Versão extendida

getOwnPropertyDescriptors

https://github.com/tc39/proposal-object-getownpropertydescriptors

Page 61: Ecmascript - Versão extendida

getOwnPropertyDescriptors

https://github.com/tc39/proposal-object-getownpropertydescriptors

Page 62: Ecmascript - Versão extendida

getOwnPropertyDescriptors

https://github.com/tc39/proposal-object-getownpropertydescriptors

Page 63: Ecmascript - Versão extendida

getOwnPropertyDescriptors

https://github.com/tc39/proposal-object-getownpropertydescriptors

Page 64: Ecmascript - Versão extendida

getOwnPropertyDescriptors

https://github.com/tc39/proposal-object-getownpropertydescriptors

Page 65: Ecmascript - Versão extendida

getOwnPropertyDescriptors

https://github.com/tc39/proposal-object-getownpropertydescriptors

Page 66: Ecmascript - Versão extendida

getOwnPropertyDescriptors

https://github.com/tc39/proposal-object-getownpropertydescriptors

Page 67: Ecmascript - Versão extendida

getOwnPropertyDescriptors

https://github.com/tc39/proposal-object-getownpropertydescriptors

Page 68: Ecmascript - Versão extendida

getOwnPropertyDescriptors

https://github.com/tc39/proposal-object-getownpropertydescriptors

Page 69: Ecmascript - Versão extendida

getOwnPropertyDescriptors

https://github.com/tc39/proposal-object-getownpropertydescriptors

Page 70: Ecmascript - Versão extendida

getOwnPropertyDescriptors

https://github.com/tc39/proposal-object-getownpropertydescriptors

Page 71: Ecmascript - Versão extendida

Trailing Commas

Page 72: Ecmascript - Versão extendida

trailing commas

https://github.com/tc39/proposal-trailing-function-commas

Page 73: Ecmascript - Versão extendida

trailing commas

https://github.com/tc39/proposal-trailing-function-commas

Page 74: Ecmascript - Versão extendida

trailing commas

https://github.com/tc39/proposal-trailing-function-commas

Page 75: Ecmascript - Versão extendida

trailing commas

https://github.com/tc39/proposal-trailing-function-commas

Page 76: Ecmascript - Versão extendida

trailing commas

https://github.com/tc39/proposal-trailing-function-commas

Page 77: Ecmascript - Versão extendida

trailing commas

https://github.com/tc39/proposal-trailing-function-commas

Page 78: Ecmascript - Versão extendida

Async Functions

Page 79: Ecmascript - Versão extendida

Promise?

Page 80: Ecmascript - Versão extendida

Promise?

ES6

Page 81: Ecmascript - Versão extendida

new Promise()

resolve reject

catch()then()

Page 82: Ecmascript - Versão extendida

Async Functions

https://github.com/tc39/ecmascript-asyncawait

Page 83: Ecmascript - Versão extendida

Async Functions

https://github.com/tc39/ecmascript-asyncawait

Page 84: Ecmascript - Versão extendida

Async Functions

https://github.com/tc39/ecmascript-asyncawait

Page 85: Ecmascript - Versão extendida

Async Functions

https://github.com/tc39/ecmascript-asyncawait

Page 86: Ecmascript - Versão extendida

Async Functions

https://github.com/tc39/ecmascript-asyncawait

Page 87: Ecmascript - Versão extendida

Async Functions

https://github.com/tc39/ecmascript-asyncawait

Page 88: Ecmascript - Versão extendida

Async Functions

https://github.com/tc39/ecmascript-asyncawait

Page 89: Ecmascript - Versão extendida

Async Functions

https://github.com/tc39/ecmascript-asyncawait

Page 90: Ecmascript - Versão extendida

Async Functions

https://github.com/tc39/ecmascript-asyncawait

Page 91: Ecmascript - Versão extendida

Async Functions

https://github.com/tc39/ecmascript-asyncawait

Page 92: Ecmascript - Versão extendida

Async Functions

https://github.com/tc39/ecmascript-asyncawait

Page 93: Ecmascript - Versão extendida

Async Functions

https://github.com/tc39/ecmascript-asyncawait

Page 94: Ecmascript - Versão extendida

Async Functions

https://github.com/tc39/ecmascript-asyncawait

Page 95: Ecmascript - Versão extendida

O que vem por aí...

Page 96: Ecmascript - Versão extendida

ES 2018

Template Literals Revision

Page 97: Ecmascript - Versão extendida

Template Literals Revision

https://github.com/tc39/proposal-template-literal-revision

Page 98: Ecmascript - Versão extendida

Template Literals Revision

https://github.com/tc39/proposal-template-literal-revision

Page 99: Ecmascript - Versão extendida

Template Literals Revision

https://github.com/tc39/proposal-template-literal-revision

Page 100: Ecmascript - Versão extendida

Template Literals Revision

https://github.com/tc39/proposal-template-literal-revision

Page 101: Ecmascript - Versão extendida

Template Literals Revision

https://github.com/tc39/proposal-template-literal-revision

Page 102: Ecmascript - Versão extendida

Template Literals Revision

https://github.com/tc39/proposal-template-literal-revision

Page 103: Ecmascript - Versão extendida

Template Literals Revision

https://github.com/tc39/proposal-template-literal-revision

Page 104: Ecmascript - Versão extendida

Template Literals Revision

https://github.com/tc39/proposal-template-literal-revision

Page 105: Ecmascript - Versão extendida

Template Literals Revision

https://github.com/tc39/proposal-template-literal-revision

Page 106: Ecmascript - Versão extendida

Template Literals Revision

https://github.com/tc39/proposal-template-literal-revision

Page 107: Ecmascript - Versão extendida
Page 108: Ecmascript - Versão extendida

E dá para contribuir?

Page 109: Ecmascript - Versão extendida

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/

Page 110: Ecmascript - Versão extendida

http://fernandabernardo.com.br

FernandaBernardo

@Feh_Bernardo