Автор Тема: ECMAScript 6  (Прочетена 643 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

bulforce

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 1
  • -Получени: 8
  • Публикации: 67
ECMAScript 6
« -: 17 Ноември 2015, 15:30:57 »
Сега писах в друга тема за ес6 генераторите и прецених, че мога да започна нова тема за ес6 където да се дискутира тематиката.

Ще започна с две-три нови неща в джаваскрипт които според мен са много яки:

1. Променливи и константи
Код: Javascript
  1. var a = 5; // Стандартен код (ес5)
  2.  
  3. //ес6
  4. const b = 5; // Константи
  5. let c = 5; // Блок променлива
  6.  

Естесвено нямаше как да се мине без най-критикуваната простотия в джаваскрипт а именно липсата на константи. В горния пример b = 3; ще изгърми с грешка. Второто готино нещо са блок променливите (let) тези променливи са видими за целия блок в който са дефинирани било то функиция, иф, фор и тнт.


2. Фат ароу фънкшън
Код: Javascript
  1. //es5
  2. var a = function(b, c) {
  3.    return b+c;
  4. }
  5.  
  6. //es6
  7. let d = (e, f) => {
  8.    return e+f;
  9. }
  10.  

Много добър синтаксис (a, b) => {}, като при един параметър скобите могат да отпаднат т.е. a => {} е еквивалент на function(a) {}. Тук обаче големия + идва не от синтаксиса а от това че тези функции имат лексикален скоуп, т.е получават тяхната област на видимост от мястото на което са дефинирани, което до голяма степен решава вечния проблем а именно какво имам в this :)

3. Парсване на стрингове с ``
Код: Javascript
  1. var a = 'goodbye';
  2. var b = 'world';
  3.  
  4. //es5
  5. var c = a + ' ' + b + '!';
  6.  
  7. //es6
  8. let d = `${a} ${b}!`;
  9. console.log(c, d); // ще върне два идентични стринга
  10.  
Това е голяма глезотиика като цяло и като се добави, че поддържа и нови редове и тнт без нужда от '\\' ili  ''стр' +' за мене си направо топ фичър.

Вие какви други тарикатлъци от ес6 знаете?
« Последна редакция: 17 Ноември 2015, 20:43:37 от bulforce »

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 269
  • Публикации: 2591
  • meow
Re: ECMAScript 6
« Отговор #1 -: 17 Ноември 2015, 19:44:53 »
Хубава идея, аз ще добавя линк към всички нови неща, които вече може да се ползват с NodeJS - https://nodejs.org/en/docs/es6/
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

bulforce

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 1
  • -Получени: 8
  • Публикации: 67
Re: ECMAScript 6
« Отговор #2 -: 07 Март 2018, 00:56:09 »
Гледам нещо позамряло форумчето и викам я да драсна нещо.

Не че е екмаскрипт 6, но е интересен начин за съкратен switch в джаваскрипт.

Код: Javascript
  1. const a = {edno: 1, dve: 2, tri: 3}['dve']; // a = 2
  2.  

Едно нещо трябва да се вземе под внимание, за разлика от истинския switch тук всеки "case" в случай, че е експрешън ще бъде изпълнен, така че този синтаксис е подходящ за по-примитивни неща. Също недостатък е и липсата на дифолт.

bulforce

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 1
  • -Получени: 8
  • Публикации: 67
Re: ECMAScript 6
« Отговор #3 -: 08 Юни 2018, 00:36:18 »
Код: Javascript
  1. // Обектче
  2. const o = {a: 1, b: 2, c: 3};
  3.  
  4. // Фокусче
  5. const {b, ...rest} = o;
  6.  
  7. // Опааа
  8. console.log(b); // 2
  9. console.log(rest); // {a: 1, c: 3}
  10.  

Много добро!