151116

ES6

Jun 29th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ES6 JS atnaujinimas
  2.  
  3. LET
  4. naudojamas kai keisime reiksme kintamojo,juo galime manipuliuoti ir sugalvoti daug
  5. let limit = 100;
  6. limit += 100;          
  7. console.log(limit);
  8.  
  9. CONST
  10. const naudojamas kai reiksme nera keiciama
  11. siame pvz ismestu errora kadangi negalime perrasyti const
  12. const limit = 100;
  13. limit = 200;
  14. console.log(limit);
  15.  
  16. kitas pvz kur tiesiog sukursime masyva,jo pakeisti negalime,taciau galime push budu prideti i masyva kazka
  17. const emails =['tiota@gmail.com ', 'vazgo@email.com', 'petia@email.com'];
  18. emails.push('huz@email.com');
  19. console.log(emails);
  20.  
  21. Tiek LET tiek CONST leidzia neperrasant global scope ,jis turi local scope.Kitaip tariant naudojant skliaustus galima sukurti daugiau reiksmiu ir jas atvaizduoti,tos reiksmes neperrasys main atvaizdavimo,rodys abu variantus.
  22.  
  23. PVZ SU LET
  24. let limit = 200;
  25. {
  26.   let limit = 10;
  27.   console.log('backstage limit', limit);
  28. }
  29. console.log('overal venue limit', limit);
  30.  
  31. PVZ SU CONST
  32. const limit = 200;
  33. {
  34.   const limit = 10;
  35.   console.log('backstage limit', limit);
  36. }
  37. console.log('overal venue limit', limit);
  38.  
  39.  
  40. Jeigu naudojamos funkcijos su tais paciais kintamaisiais,vistiek neperraso ir nepazeidzia vienas kito.kitaip tariant jie yra atskiri blokai ir vienas kitam netrugdo,nors ir kintamieji tokie patys.
  41.  
  42. function hello() {
  43.   let message = "Hello!";
  44.   console.log(message);
  45. }
  46.  
  47. function greeting() {
  48.   let message = "How are you";
  49.   console.log(message);
  50. }
  51. hello();
  52. greeting();
  53.  
  54. SUJUNGIMAS ES6
  55. Tarkime norime sujungti 2 kintauosius i viena,ankciau naudojome + zenkla kad sujungtume,dabar naudojame tokias kabutes `` ir toki zenkla ${kintamasis}.Sukuriame kintamaji ir siose kabutese rasome ka norim sujungti.Tada tiesiog sukuriame kintamaji  ir jungiame naudodami ${kintamasis} tarpas ir kazkas.
  56. 1.zodi kuri jungsime rasome tokiose kabutese ``
  57. 2.jungiame dolerio zenklu $ ir skliaustuose {} irasome kintamaji po jo tarpas jeigu dar eina kas nors
  58.  
  59. let a = `good`;
  60. let greeting = `${a} morning`;
  61. console.log(greeting);
  62.  
  63. Spread Operator
  64. Spread operatorius leidzia lengviau manipuliuoti masyvais ir objektais
  65. ...a    tai yra spread operatorius kuris sujungia
  66. Stai pavizdys kaip sujungti 2 masyvus.Tiesiog masyvo viduje irasome daugtaski ir raide norimo masyvo kuri norime prijungti.
  67. 1.turi buti tarpas pries daugtaskius
  68. 2.po kintamojo turi buti kablelis ir tarpas
  69.  
  70. let a = [20, 40, 30];
  71. let b = [10, ...a, 50];
  72. console.log(b);
  73.  
  74. Kitas PVZ su zodziais
  75.  
  76. let a = ['Dana', 'Vania', 'Gedrius'];
  77. let b = ['Bubis', 'Kuzis', 'Liudvis', ...a];
  78. console.log(b);
  79.  
  80. Galime Sukurti Funkcija Kurioje Irasysime Argumentus,ir paskui sukursime Masyva Priskirdami Jiems Reiksme.
  81. 1.Irasome Argumenta ...a
  82. 2.Atvaizduojame
  83. 3.Issisaukiame funkcija ir sklaisutuose priskiririame reiksmes
  84.  
  85. function collect(...a) {
  86.   console.log(a);
  87. }
  88. collect(1,2,3,4,5,6,7);
  89.  
  90.  
  91. Galime Priskirti Reiksme Esanciame Masyvui Naudodami Toki Buda.Trumpiau tarianti priskiriame esamam masyvui dar kazka ir paskui tiesiog juos issaukiame,ir gauname reiksme kuri yra masyve.Veikia tokiu pat principu,jog pirmas masyve esantis elementas yra 0, antra 1 ir tt.
  92.  
  93. let z = [4, 5, 6];
  94. let [four, five] = z;
  95. console.log(four, five);
  96.  
  97. Kitas PAVIZDYS Viskas Tas Pats Tik Su Zodziais
  98.  
  99. let animals = ["Simba", "Bembi", "Shirhan"];
  100. let [lion, deer, tiger] = animals
  101. console.log(lion, deer, tiger);
  102.  
  103. KAIP VEIKIA SU OJEKTAIS Distruction Asigment
  104. Viskas panasiai kaip ir su masyvais tik taikant pavadinima,skliaustuose reikia rasyti kas yra objekte priskirta.Kaip pvz jeigu objekte yra name,tai taikant jiems pavadinima tai pat reikia issisaukti name.
  105. 1.Priskiriame pavadinima toki pat kaip ir masyve
  106. 2.Atvaizduojame rasydami skliaustuose irasytus pavadinimus
  107.  
  108. let king = { name: 'Mufasa', kids: 1 };
  109. let { name, kids } = king;
  110. console.log(name, kids);
  111.  
  112. Kitas Pavizdys.Cia yra objektas kuriame priskiriame taip pat pavadinimus tik siuo atveju reikia priskirti skliaustus kadangi sintakse nemato jog tai yra tas pats blokas.Uzdedame skliaustus taip funkcija veiks
  113.  
  114. let son = {  name: 'Simba', paretns: 2 };
  115. let name, paretns;
  116. ({ name, paretns } = son);
  117. console.log(name, paretns);
  118.  
  119. NAUJI METODAI IR MODULIAI
  120.  
  121. Arrow Functions
  122. Tai yra arrow function sintakse.Ji yra trumpesne ir pagal default arrow funkcija yra anonymus kitaip sakant anonimine-nenustatyta.Arrow funkcija neturi pavadinimo, todel ir yra anonymus.
  123.  
  124. () => {}
  125.  
  126. Paprasta funkcija negali buti anonymus kadangi ji turi pavadinima,ir jos dekoracija yra function.Kitaip sakant norint ja isreiksti naudojame funkcijos pavadinima,jos dekoracija yra function.
  127.  
  128. Tai Yra Anonymus Funkcija, kadangi cia nera nustatytas funkcijos pavadinimas.
  129.  
  130. setTimeout(function(){
  131.   console.log("Whoohoo!");
  132. },3000);
  133.  
  134. Cia Yra Tas pats pvz tik su arrow funkcija ir ji taip pat yra anonymus,nes pagal default arrow funkcija yra default.
  135.  
  136. setTimeout(() => {
  137.   console.log("Whoohoo!");
  138. },3000);
  139.  
  140. DAR VIENA PAVIZDYS
  141. Cia yra naudojam arrow funkcija ir ji yra anonymus.Taip issaukiame funkcija, nors pati funkcija neturi pavadinimo,mes ja priskyreme kaip kintamaji.
  142.  
  143. let cheer = () => {
  144.   console.log("Whoohoo!");
  145. }
  146. cheer();
  147.  
  148.  
  149. HELPER METHODS
  150. Dazniausiai arrow funkciju isreiskiamos su helper method pagalba.
  151.  
  152. MAP HELPER METHOD
  153. Map padeda sukurti masyva ir iskviesti funkcija kiekvienam masyve esanciam elementui.
  154.  
  155. Cia sukureme masyva,zemiau sukureme arrow funkcija kuri return(laiko-grazina) n*2.Tai reiskia kad padaugina n is 2.Sukureme dar viena kintamaji doubled ir jam priskyreme masyvo pavadinima su pam helper,skliaustuose iraseme arrow funkcijos kintamaji(pavadinima).
  156. 1.
  157.  
  158.  
  159.  
  160. let values = [20, 30, 40];
  161. let double = (n) => {
  162.   return n*2;
  163. }
  164. let doubled = values.map(double);
  165. console.log(doubled);
  166.  
  167. Trumpesne Versija Aukstesnio Pavyzdzio.
  168. 1.sukureme masyva
  169. 2.sukurem kintamaji jame yra funkcija
  170. 3.si funkcija paima masyva ir map pagalba pereina visa masyva,kurioje yra arrow funkcija su kintamuoju,sis kintamasis n atvaizduoja masyve esanti elementa ir paskui seka veiksmas,ka darome t.y. padauginame kintamaji n is 2;
  171. 4.atvaizduojame savo funkcija
  172.  
  173. let values = [20, 30, 40];
  174.  
  175. let doubled = values.map((n) => n*2);
  176. console.log(doubled);
  177.  
  178. FILTER HELPER METHOD
  179. Filter metodas sukuria nauja masyva ir jiems pritaiko test metoda.T.y. pereina per juos visus,perfiltruoja.
  180.  
  181. Pateiktame pvz matome kad yra funkcija kuri atrenka skaicius didesnius nei 15 esancius masyve.Filter atfiltruoja visus skaicius.
  182. 1.masyvas
  183. 2.kintamasis lygus masyvo ir filter kuris lygus arrow funkcija kuri atrenka didesnius nei 15 skaicius is masyvo
  184. 3.atvaizdavimas
  185.  
  186. let points = [6, 7, 5, 8, 12, 34, 54, 65];
  187. let highScore = points.filter((n) => n > 15)
  188. console.log(highScore);
  189.  
  190.  
  191. STRINGS HELPER METHODS
  192.  
  193.  
  194. REPEAT METHOD
  195. Repeat padeda pakartoti zodzius,tarpus,raides norimam texte,zodyje ar raideje.
  196.  
  197. Pavizdys kuriame matome repeat skliaustai ir jose bus skaicius kiek kartu norime kad kartotusi ooo zodis.Kitaip sakaknt prie zodzio pridedame .repeat() ir jis karotsis tiek kartu kiek i skliaustus irasysime skaiciu.
  198. Galime naudoti ir tiesiog tarpus " "
  199. Galime Naudoti ir
  200.  
  201. .repeat()
  202.  
  203. let b = 'whooh' + 'ooo'.repeat(50);
  204. console.log(b);
  205.  
  206. Kitas PVZ to paties cia tiesiog panaudosime themeplate string,$ zenklas skliaustai ir jose pridedamas zodis su repeat ir jame skaiciais kuris prides oo 50 kartu siame pvz.
  207.  
  208. let b = `whoo${"oo".repeat(50)}`;
  209. console.log(b);
  210.  
  211.  
  212. STARTS WITH
  213. StartsWith metodas padeda ieskoti zodzio pradzioje norima zodi,fraze
  214.  
  215. .startsWith
  216.  
  217. Pavizdys viska isreiskiantis,ieskome butterfly zodyje junginio ar jis prasideda su butter.Cia rodys true.Jeigu nera tada rodo false.
  218.  
  219. console.log("butterfly".startsWith("butter"));
  220.  
  221.  
  222. ENDS WITH
  223. endsWith iesko zodyje ar jis baigiasi norima fraze,sakiniu.
  224.  
  225. .endsWith
  226.  
  227. Pavizdyje iesko ar butterfly baigiasi fly.Bus Tru kadangi butterfly baigiasi fly.
  228.  
  229. console.log("butterfly".endsWith("fly"));
  230.  
  231.  
  232. INCLUDES METHOD
  233. includes metodas iesko ar zodyje,sakinyje yra nors vienas simbolis ar raide,fraze.
  234.  
  235. .includes
  236.  
  237. Pavizdyje matome ar butterfly yra raide t.Atvaizduos tru kadangi yra raide t.
  238.  
  239. console.log("butterfly".includes("t"));
  240.  
  241. IS FINITE
  242. isFinite tikrina ar yra ivestas skaicius o ne koks simbolis ar dar kas nors.Cia pvz tikrina ar yra ivestas skaicius pasirinktam number kintamjam.
  243.  
  244. Pavizdys su isFinite
  245. Sukureme kintamaji kuris lygus arrow funkcijai kuri turi 2 kintamuosius,vienas yra zodis,kitas yra skaicius,si funkcija grazina funkcija kuri nusako ar kintamasis number yra skaicius.
  246.  
  247. const addToCart = (item, number) => {
  248.   return Number.isFinite(number);
  249. }
  250. console.log(addToCart('shirt', 5));
  251.  
  252. IS SAFE INTIGER
  253. isSafeInteger tikrina ar skaicius yra saugus javascript apdorojimui.JS apdoroja tik nuo 2-53 ,mano pvz 53 raso false.
  254.  
  255. Pavizdyje rodys false kadangi js gali apdoroti tik skaicius nuo 2 iki 53.53 taip pat nepaliko
  256.  
  257. const addToCart = (item, number) => {
  258.   return Number.isSafeInteger(number);
  259. }
  260. console.log(addToCart('shirt', Math.pow(2, 54)));
  261.  
  262.  
  263. MODULES
  264. Modules yra pakartotinai naudojami kodai,kuriuos mes naudojame kuriant projekta.Jie yra skaidomi i atskirus failus, kai musu aplikacija auga.Mes nenorime kad musu index.js failas butu per didelis,jof niekas nesuprastu,tad naudojame atskirus failus kuriuose yra tam tikri kodai,funkcijos kurias mes surisame i viena faila,kad atliktu norima funkcija,veiksma.
  265.  
  266. EXPORT
  267. export leidzia pasiekti esama faila kitam faile,trumpiau tariant ji exportuojame kad galetume importuoti i kita faila.
  268.  
  269. Susikuriame viena faila ir jame sukuriame masyva,ir ji exportuojame,exportuojame sukurta kintamaji.
  270.  
  271. const fellowship = ["Montana", "Pacino", "Bumpher"];
  272.  
  273. export { fellowship };
  274.  
  275. IMPORT
  276. import budu mes imporuojame norima faila is kokios nors direktorijos.Tiesiog rsome import skliaustai ir parasome is kur norime importuoti.
  277.  
  278. import { fellowship } from './fellowship';
  279. console.log(fellowship);
  280.  
  281.  
  282. Jeigu norime exportuoti-importuoti kelis kintamuosius tada tiesiog skliaustuose pridedame kableli ir darasome kintamaji
  283.  
  284. EXPORT PAVIZDYS
  285. const fellowship = ["Montana", "Pacino", "Bumpher"];
  286. const total = fellowship.lenght;
  287. export { fellowship, total };
  288.  
  289. IMPORT PAVIZDYS
  290. import { fellowship, total } from './fellowship';
  291. console.log(fellowship);
  292.  
  293. DAR VIENAS PAVIZDYS SU MATEMATINIAI VEIKSMAIS
  294.  
  295. EXPORT
  296. const add = (a, b) => {
  297.   return a+b;
  298. }
  299. const multiply = (a, b) => {
  300.   return a*b;
  301. }
  302. export { add, multiply };
  303.  
  304. IMPORT
  305. import { add, multiply } from './math';
  306. console.log(multiply(5, 10));
  307.  
  308. Jeigu norime exportuoti tik viena is esamu funkciju, tiesiog pridedame toki koda:
  309.  
  310. EXPORT
  311. cia exportuos kas yra pagal default t.y. multiply
  312.  
  313. const add = (a, b) => {
  314.   return a+b;
  315. }
  316. const multiply = (a, b) => {
  317.   return a*b;
  318. }
  319. export { add, multiply };
  320. export default multiply;
  321.  
  322. IMPORT
  323. cia tiesiog nebereikia rasyti skliaustuose ka importuojame galime iskarto rasyti tai ka esame pasirnke daryti default.
  324.  
  325. import multiply from './math';
  326. console.log(multiply(5, 10));
Add Comment
Please, Sign In to add comment