JavaScript Classified
-
Upload
artur-skowronski -
Category
Software
-
view
323 -
download
1
description
Transcript of JavaScript Classified
![Page 1: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/1.jpg)
JavaScript
Artur Skowroński
![Page 2: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/2.jpg)
![Page 3: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/3.jpg)
Abstrakcja (łac. abstractio - oderwanie)
![Page 4: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/4.jpg)
Klasyczne podejście
Konstruktor Funkcyjny
![Page 5: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/5.jpg)
function Person(name){
this.name=name;
}
Person.prototype.show=function(){
console.log("Jestem " + this.firm);
};
![Page 6: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/6.jpg)
Employee.prototype = new Person(); Employee.prototype.constructor = Employee;
![Page 7: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/7.jpg)
Employee.prototype.show = function(){
Person.prototype.show.call(this);
console.log("Pracuje w firme " + this.firm);
};
![Page 8: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/8.jpg)
![Page 9: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/9.jpg)
Object.create For Loop
![Page 10: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/10.jpg)
![Page 11: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/11.jpg)
![Page 12: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/12.jpg)
![Page 13: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/13.jpg)
Core API
![Page 14: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/14.jpg)
![Page 15: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/15.jpg)
EcmaScript 3Grudzień 1999
Wyrażenia regularne
Try Catch
![Page 16: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/16.jpg)
ECMAScript 4
Packages
NamespacesKlasy
![Page 17: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/17.jpg)
![Page 18: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/18.jpg)
Grudzień 2009
ECMAScript 3.1ECMAScript 5
![Page 19: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/19.jpg)
![Page 20: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/20.jpg)
![Page 21: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/21.jpg)
maximally_minimal_classes
Aktualny Draft
![Page 22: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/22.jpg)
Tworzenie i konstruktory
![Page 23: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/23.jpg)
ECMAScript 3
function Person(name){ this.name=name; }
![Page 24: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/24.jpg)
ECMAScript 6
class Person { constructor(name){ this.name=name; } }
![Page 25: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/25.jpg)
Metody
![Page 26: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/26.jpg)
Person.prototype.hello = function(){ console.log("Osoba " + this.name ); };
ECMAScript 3
![Page 27: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/27.jpg)
class Person { (…) hello(){ console.log("Osoba "+this.name); } }
ECMAScript 6
![Page 28: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/28.jpg)
![Page 29: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/29.jpg)
Dziedziczenie
![Page 30: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/30.jpg)
ECMAScript 3
Man.prototype = new Mammal(); Man.prototype.constructor = Man; !
function Man(firm){ this.firm=firm; }
![Page 31: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/31.jpg)
ECMAScript 6
class Man extends Mammal { constructor(firm){ this.firm= firm; } }
![Page 32: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/32.jpg)
SuperMetody
![Page 33: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/33.jpg)
ECMAScript 3
Employee.prototype.show = function(){ Person.prototype.show.call(this); alert("Pracuje w firme " + this.firm); }
![Page 34: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/34.jpg)
class Employee extends Person { (…) !
show(){ super() alert("Pracuje w firme " + this.firm); } !
}
ECMAScript 6
![Page 35: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/35.jpg)
Czego jeszcze nie dostaniemy
• Zamkniętego stanu• Properties
NazwaKlasy.prototype.nazwaPop = 0;
![Page 36: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/36.jpg)
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”.
![Page 37: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/37.jpg)
Podsumowując
•Standard dziedziczenia dla wszystkich !
•Naturalne Core API dla twórców Frameworków
![Page 38: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/38.jpg)
Nadzieje
![Page 39: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/39.jpg)
Interoperacyjność
![Page 40: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/40.jpg)
IDE Support
![Page 41: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/41.jpg)
Performance języka
http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/
![Page 42: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/42.jpg)
Kiedy?
![Page 44: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/44.jpg)
![Page 46: JavaScript Classified](https://reader031.fdocuments.pl/reader031/viewer/2022012305/5454e691b1af9f37608b45ca/html5/thumbnails/46.jpg)
Dziękuje bardzo… i zapraszam do pytańArtur Skowroński