SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
JavaScript
Artur Skowroński
Abstrakcja (łac. abstractio - oderwanie)
Klasyczne podejście	
Konstruktor Funkcyjny
function Person(name){
this.name=name;
}
Person.prototype.show=function(){
console.log("Jestem " + this.firm);
};
Employee.prototype = new Person();
Employee.prototype.constructor = Employee;
Employee.prototype.show = function(){
Person.prototype.show.call(this);
console.log("Pracuje w firme " + this.firm);
};
Object.create For Loop
Core API
EcmaScript 3
Grudzień 1999	
Wyrażenia regularne
Try Catch
ECMAScript 4
Packages
Namespaces
Klasy
Grudzień 2009
ECMAScript 3.1ECMAScript 5
maximally_minimal_classes
Aktualny Draft
Tworzenie i konstruktory
ECMAScript 3
function Person(name){
this.name=name;
}
ECMAScript 6
class Person {
constructor(name){
this.name=name;
}
}
Metody
Person.prototype.hello = function(){
console.log("Osoba " + this.name );
};
ECMAScript 3
class Person {
(…)
hello(){
console.log("Osoba "+this.name);
}
}
ECMAScript 6
Dziedziczenie
ECMAScript 3
Man.prototype = new Mammal();
Man.prototype.constructor = Man;
!
function Man(firm){
this.firm=firm;
}
ECMAScript 6
class Man extends Mammal {
constructor(firm){
this.firm= firm;
}
}
SuperMetody
ECMAScript 3
Employee.prototype.show = function(){
Person.prototype.show.call(this);
alert("Pracuje w firme " + this.firm);
}
class Employee extends Person {
(…)
!
show(){
super()
alert("Pracuje w firme " + this.firm);
}
!
}
ECMAScript 6
Czego jeszcze nie dostaniemy
• Zamkniętego stanu

• Properties
NazwaKlasy.prototype.nazwaPop = 0;
Future editions of ECMAScript may and probably will extend the proposed class definitions. However, the intent for
“ES6” is to only include the features described in this proposal. Attempting to extend this proposal is likely to result in
dead-lock that would result in the inclusion of no class definition support in “ES6”.
Podsumowując
	•	Standard dziedziczenia dla wszystkich

!
	•	Naturalne Core API dla twórców Frameworków
Nadzieje
Interoperacyjność
IDE Support
Performance języka
http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/
Kiedy?
http://kangax.github.io/compat-table/es6
https://github.com/google/traceur-compiler
Dziękuje bardzo…
i zapraszam do pytań
Artur Skowroński

Mais conteúdo relacionado

Destaque

Oumh1303 20130712 155801
Oumh1303 20130712 155801Oumh1303 20130712 155801
Oumh1303 20130712 155801
kuok kuoklin
 
20150522101718 歷代散文發展
20150522101718 歷代散文發展20150522101718 歷代散文發展
20150522101718 歷代散文發展
kuok kuoklin
 
IBM Impact session 1654-how to move an existing cics application to a smartphone
IBM Impact session 1654-how to move an existing cics application to a smartphoneIBM Impact session 1654-how to move an existing cics application to a smartphone
IBM Impact session 1654-how to move an existing cics application to a smartphone
nick_garrod
 
Lühiportfoolio projektist - Uushorisont
Lühiportfoolio projektist -  UushorisontLühiportfoolio projektist -  Uushorisont
Lühiportfoolio projektist - Uushorisont
mtyyhistee
 

Destaque (13)

Oumh1303 20130712 155801
Oumh1303 20130712 155801Oumh1303 20130712 155801
Oumh1303 20130712 155801
 
Naturales.
Naturales.Naturales.
Naturales.
 
看图写话 1
看图写话 1看图写话 1
看图写话 1
 
SHARE 2014 Pittsburgh, Managing multi version applications in cics
SHARE 2014 Pittsburgh, Managing multi version applications in cicsSHARE 2014 Pittsburgh, Managing multi version applications in cics
SHARE 2014 Pittsburgh, Managing multi version applications in cics
 
20150522101718 歷代散文發展
20150522101718 歷代散文發展20150522101718 歷代散文發展
20150522101718 歷代散文發展
 
2844 inter connect cics policy (2844)
2844  inter connect cics policy (2844)2844  inter connect cics policy (2844)
2844 inter connect cics policy (2844)
 
Tarea d4e ingles
Tarea d4e inglesTarea d4e ingles
Tarea d4e ingles
 
IBM Impact session 1654-how to move an existing cics application to a smartphone
IBM Impact session 1654-how to move an existing cics application to a smartphoneIBM Impact session 1654-how to move an existing cics application to a smartphone
IBM Impact session 1654-how to move an existing cics application to a smartphone
 
Lühiportfoolio projektist - Uushorisont
Lühiportfoolio projektist -  UushorisontLühiportfoolio projektist -  Uushorisont
Lühiportfoolio projektist - Uushorisont
 
IBM Impact Session 2351 hybrid apps
IBM Impact Session 2351 hybrid appsIBM Impact Session 2351 hybrid apps
IBM Impact Session 2351 hybrid apps
 
SHARE 2014 Pittsburgh, Modernizing cics for cloud
SHARE 2014 Pittsburgh, Modernizing cics for cloudSHARE 2014 Pittsburgh, Modernizing cics for cloud
SHARE 2014 Pittsburgh, Modernizing cics for cloud
 
SHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applicationsSHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applications
 
GPS Traces in HERE Map Creator
GPS Traces in HERE Map CreatorGPS Traces in HERE Map Creator
GPS Traces in HERE Map Creator
 

Mais de Artur Skowroński

Panie, kto tu Panu tak ... - czyli porozmawiajmy o Legacy
Panie, kto tu Panu tak ... - czyli porozmawiajmy o LegacyPanie, kto tu Panu tak ... - czyli porozmawiajmy o Legacy
Panie, kto tu Panu tak ... - czyli porozmawiajmy o Legacy
Artur Skowroński
 
Blockchain: Developer's Perspective (Java Edition)
Blockchain: Developer's Perspective (Java Edition)Blockchain: Developer's Perspective (Java Edition)
Blockchain: Developer's Perspective (Java Edition)
Artur Skowroński
 

Mais de Artur Skowroński (20)

Kopiąc Trufle - Odkrywanie tajemnic najmniej zrozumiałego elementu GraalVM
Kopiąc Trufle - Odkrywanie tajemnic najmniej zrozumiałego elementu GraalVMKopiąc Trufle - Odkrywanie tajemnic najmniej zrozumiałego elementu GraalVM
Kopiąc Trufle - Odkrywanie tajemnic najmniej zrozumiałego elementu GraalVM
 
The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024
 
My chcemy grać w Zielone! Czyli stan świata Green Technology końcówką 2023
My chcemy grać w Zielone! Czyli stan świata Green Technology końcówką 2023My chcemy grać w Zielone! Czyli stan świata Green Technology końcówką 2023
My chcemy grać w Zielone! Czyli stan świata Green Technology końcówką 2023
 
GraalVM, CRaC, Leyden and friends
GraalVM, CRaC, Leyden and friendsGraalVM, CRaC, Leyden and friends
GraalVM, CRaC, Leyden and friends
 
Od Czarnoksiężnik z krainy Oz do modeli na produkcji
Od Czarnoksiężnik z krainy Oz do modeli na produkcjiOd Czarnoksiężnik z krainy Oz do modeli na produkcji
Od Czarnoksiężnik z krainy Oz do modeli na produkcji
 
JVM Iceberg... we need to go deeper
JVM Iceberg... we need to go deeperJVM Iceberg... we need to go deeper
JVM Iceberg... we need to go deeper
 
JVM Iceberg... we need to go deeper
JVM Iceberg... we need to go deeperJVM Iceberg... we need to go deeper
JVM Iceberg... we need to go deeper
 
Panie, kto tu Panu tak ... - czyli porozmawiajmy o Legacy
Panie, kto tu Panu tak ... - czyli porozmawiajmy o LegacyPanie, kto tu Panu tak ... - czyli porozmawiajmy o Legacy
Panie, kto tu Panu tak ... - czyli porozmawiajmy o Legacy
 
Panie, kto tu Panu tak ... - czyli porozmawiajmy o Legacy
Panie, kto tu Panu tak ... - czyli porozmawiajmy o LegacyPanie, kto tu Panu tak ... - czyli porozmawiajmy o Legacy
Panie, kto tu Panu tak ... - czyli porozmawiajmy o Legacy
 
Ciąg dalszy nastąpi - o wielowątkowości, Projekcie Loom i kotlinowych Korutynach
Ciąg dalszy nastąpi - o wielowątkowości, Projekcie Loom i kotlinowych KorutynachCiąg dalszy nastąpi - o wielowątkowości, Projekcie Loom i kotlinowych Korutynach
Ciąg dalszy nastąpi - o wielowątkowości, Projekcie Loom i kotlinowych Korutynach
 
Artur Skowroński – Ten Typ tak ma - O systemach typów na przykładzie TypeScri...
Artur Skowroński – Ten Typ tak ma - O systemach typów na przykładzie TypeScri...Artur Skowroński – Ten Typ tak ma - O systemach typów na przykładzie TypeScri...
Artur Skowroński – Ten Typ tak ma - O systemach typów na przykładzie TypeScri...
 
Ten Typ tak ma - O systemach typów na przykładzie TypeScript’a
Ten Typ tak ma - O systemach typów na przykładzie TypeScript’aTen Typ tak ma - O systemach typów na przykładzie TypeScript’a
Ten Typ tak ma - O systemach typów na przykładzie TypeScript’a
 
Type Systems on the example of TypeScript
Type Systems on the example of TypeScriptType Systems on the example of TypeScript
Type Systems on the example of TypeScript
 
Google Assistant po polsku - developerski punkt widzenia
Google Assistant po polsku - developerski punkt widzeniaGoogle Assistant po polsku - developerski punkt widzenia
Google Assistant po polsku - developerski punkt widzenia
 
Google Assistant & Alexa - Asystenci głosowi: możliwości, podobieństwa, różnice
Google Assistant & Alexa - Asystenci głosowi: możliwości, podobieństwa, różniceGoogle Assistant & Alexa - Asystenci głosowi: możliwości, podobieństwa, różnice
Google Assistant & Alexa - Asystenci głosowi: możliwości, podobieństwa, różnice
 
To Be Continued - multithreading with Project Loom and Kotlin's Coroutines
To Be Continued - multithreading with Project Loom and Kotlin's CoroutinesTo Be Continued - multithreading with Project Loom and Kotlin's Coroutines
To Be Continued - multithreading with Project Loom and Kotlin's Coroutines
 
To be Continued - multithreading with Project Loom and Kotlin's Coroutines
To be Continued - multithreading with Project Loom and Kotlin's CoroutinesTo be Continued - multithreading with Project Loom and Kotlin's Coroutines
To be Continued - multithreading with Project Loom and Kotlin's Coroutines
 
Blockchain: Developer's Perspective (Java Edition)
Blockchain: Developer's Perspective (Java Edition)Blockchain: Developer's Perspective (Java Edition)
Blockchain: Developer's Perspective (Java Edition)
 
Blockchain: Developer Perspective
Blockchain: Developer PerspectiveBlockchain: Developer Perspective
Blockchain: Developer Perspective
 
Alexa, nice to meet you!
Alexa, nice to meet you! Alexa, nice to meet you!
Alexa, nice to meet you!
 

JavaScript Classified