ECMAScript 8 (ES8) nebo ECMAScript 7 (ES7) byl oficiálně propuštěn minulý rok-koncem června o TC39 (co je TC39? Technický výbor 39 což je oficiální Výbor pro vývoj JavaScriptu. Tento výbor pravidelně zasedá a jeho členy jsou obvykle prodejci prohlížečů ). Nyní je standardem zveřejňovat nové SPECIFIKACE jednou ročně. ES5 byla zveřejněna v roce 2009 a po této hlavní verze byla ES6 v roce 2015, ES7 v roce 2016, Es8 v roce 2017, Es9 v roce 2018, Es10 v roce 2019.
Přečtěte si Také: CronJ UI, UX Design Společnost
Es7, Es8, Es9, a Es10 Vlastnosti:
V tomto článku se dozvíte, jak využít všechny nové funkce z JavaScript ES7, ES8, ES9, a ES10 nabídnout s příklady:
Class Vlastnosti :
můžete inicializovat třídu vlastností mimo konstruktor!
Příklad:
class Animal { constructor() { this.name = "Lion" } age = 0;}That will be complied to: class Animal { constructor() { this.age = 0; this.name = "Lion"; } }Especially react developers can relate easily state! and initialProps!: class Animal { constructor() { this.name = "Lion" } age = 0; state = { } initialProps = { } }
BabelJs.IO lze použít pro testování všech nových funkcí ECMA, můžete konfigurovat předvolby a testovat. Zde je příklad spuštění babeljs.io příklad
Ano, stejným způsobem můžete nyní použít v JavaScriptu!.
řetězec.padEnd () a string.padStart() funkce:
To je jen způsob, jak přidat další znaky, na konec nebo na začátek řetězce.
řetězec.padStart()
padStart()
metoda podložky aktuální řetězec jiným řetězcem (opakovat, pokud je potřeba) tak, aby výsledný řetězec dosáhne dané délky. Polstrování se aplikuje od začátku (vlevo) aktuálního řetězce.
příklad:
řetězec.padEnd():
padEnd()
metoda podložky aktuální řetězec s daným řetězcem (opakovat, pokud je potřeba) tak, aby výsledný řetězec dosáhne určité délky. Polstrování se aplikuje od konce (vpravo) aktuálního řetězce.
například :
Exponenciální Operátor:
umocňování operátor vrací výsledek zvyšování první operand k moci, druhý operand. Exponentiační operátor je správně asociativní. a ** b ** c
se rovná a ** (b ** c)
.
Příklad:
Trailing comma:
Trailing comma je dovoleno v poli, objekt a parametry funkce. Teď to není obrovské, ale je to hezké, pokud v případě, že zapomeneme uzavřít nebo spíše ukončit čárku, pokud uvádíme spoustu položek, nezáleží na tom, zda zahrneme tu poslední navíc.
Příklad:
var list = var obj = { one: "1", two: "2", three: "3", // It is valid}function add( one, two, three, // It is valid) {}
Námitka.hodnoty () a objekt.vývoda():
To je způsob, jak zacházet s našimi objekty jako slovníky, kde v nichž můžeme získat názvy parametrů a skutečné nebo spíše názvy polí a skutečné hodnoty s nimi spojené buď hodnoty nebo položky v tomto pořadí.
objekt.hodnoty ()
jste obeznámeni s objektem.šipka(). To je přesně opačný objekt.šipka().
Příklad:
var fruits = { apple: 10, orange: 20, grapes: 30, pineapple: 40 }var totalVegetables = Object.values(fruits).reduce((a, b) => a + b);console.log(totalVegetables);
Výstup: 100
Objekt.příspěvky()
Object.entries()
metoda vrací pole vlastní vyčíslené vlastnosti daného objektu párů.
Příklad :
var fruits = { apple: 10, orange: 20, grapes: 30, pineapple: 40}for (var of Object.entries(fruits)) { console.log(key, val);}
Výstup:
jablko 10
pomeranč 20
hrozny 30
ananas 40
pole.prototyp.zahrnuje ()
to je jen další funkce pole je způsob, jak juiced jen určit, zda pole obsahuje hodnotu.
asynchronní funkce
v es8 máme asynchronní funkce, To je opět masivní nová funkce. Asynchronní funkce jsou funkce, které nefungují, jedna po druhé, že by synchronní místo toho pracují paralelně a umožňují nám vykonávat více funkcí zároveň.
objekt.getOwnPropertyDescriptors ()
jako způsob, jak vytisknout velký řetězec popis objektu ve všech jeho entitách.
ES9 Vlastnosti:
RegEx změny
Takže tohle je regulární výraz změní, abych byl upřímný, já osobně nemám rád používat regulární výrazy, pokud je to možné a našel jsem skutečně není nutné používat je příliš mnoho, takže jsme opravdu zahrnující regulární výrazy, změní natolik, nicméně, pokud jste super zájem, můžete se určitě zkontrolovat ty ven ES9 přidal spoustu podpory.
Ostatní/Šíření vlastnosti
tyto jsou opravdu super, že nám umožňují v podstatě vybudovat rozsahy hodnot pomocí tří elips dát dohromady to umožňuje kompilátor interpretovat, co hodnoty přicházejí další z řady hodnot.
asynchronní iterace
to je vlastně poslední velký a jen propůjčuje silnější podporu naší asynchronní funkčnosti.
funkce ES10:
Takže Chrome verze 72 se jen válí, některé nové vzrušující ES10, že je ES 2019 funkce do svého prohlížeče pro vývojáře k použití, takže pojďme se podívat na to, co nové funkce, máme v ES10 hledat.
pole.flat ()
Začínáme s flat () a flatmap (), takže pokud máte pole jako na obrázku níže, můžete vidět, že můžete jen konzoli.přihlaste to a máte spoustu vnořených polí.
takže pokud chcete zploštit celé toto pole, musíte použít rekurzi nebo víte, že musíte udělat něco pomocí nějakého algoritmu dobře.
naštěstí nyní JavaScript poskytuje ve výchozím nastavení využitím .flat (), který by rekurzivně zploštil vaše pole až na úroveň, kterou určíte. Takže byt().
stačí zadat úrovně, vyrovnává ji na jednu úroveň, pokud to uděláte dvakrát, vyrovnává ji na dvě úrovně.
pokud chcete zploštit celé pole, můžete do značné míry projít nekonečnem a celé pole zploštit z vnořených polí na čistší způsob.
pole.flatmap ()
podobně máme flatmap (), který funguje skoro stejně jako MAPA, Pokud uděláte mapu X a vrátíte řekněme (x, x*2), Pokud konzoli.přihlaste svůj výsledek uvidíte, že dostanete pole, které vypadá něco jako je znázorněno na obrázku níže vnořené.
ale pokud jste chtěl, aby vám flatmap() tam, jste nedostal pěkný zploštění pole pro váš výsledek.
objekt.fromentries ()
přichází na číslo dvě máme objekt.fromentries (), která v podstatě znáte z objektu dot položky můžeme jít dopředu a vytvořit tyto pěkné malé páry klíč-hodnota z pole klíč-hodnota právě teď, ale můžete prostě jít dopředu a dostat své původní
objekt, zpátky z této konkrétní pole pomocí objektu tvoří záznamy a pokud se nemůžete zamknout objekt původního objektu uvidíte, že dostaneme klíč-hodnota objektu zpět k nám.
řetězec.trimstart () a řetězec.trimend ()
opět nás to přivádí k našemu číslu tři, které je naše .trimstart () a .trimend (). Takže pokud máte řetězec, který má dlouhé mezery, můžete prostě jít dopředu a dělat
console.log(string.trimstart())
a stiskněte Uložit.
uvidí vlastně řekněme, json dot stringify to tak, že jsme schopni vidět mezery, takže vidíte jen to jsou backspaces zůstávají podobně, pokud máte čalounění konec tady budeš vidět pouze přední prostory zůstávají a pokud si jen mít trim tady uvidíte všechny své prostory jsou pryč
Volitelné chytit závazná
To nás přivádí k naší nepovinné závazné pro try-úlovek, který v podstatě znamená, teď nejsi nucen dát chytit chyba přímo zde, pokud nechcete, aby to, takže pokud se vám hodit nová chyba tady mohl docela hodně přístup to pravé tam pomocí chyby.
Ale nějak nechcete to jsi volný, aby prostě jít dopředu a využít něco jako hej něco se podělalo, takže to je zcela v pořádku.
toString ()
ES9 také reviduje funkci.metoda toString (), takže pokud máte
funkce mou funkcí zde a pokud vám konzole dot log své funkce dva řetězce, co uvidíš, je tvá původní zdrojový kód, že konkrétní funkci dříve tyto mezery tyto nové řádky, pokud jste měli žádné příkazy, tady tyhle by být odstraněna, když to konzole.přihlásit se moje funkce dveře řetězec, ale teď jsou zachovány a skoro dostat zpět své původní zdrojový kód funkce, které jste napsali.
sym.popis
vracíme se k dalšímu návrhu, který je popisem symbolů getter. Takže nedávno dříve, co musíte udělat, je, pokud chcete porovnat symbol, musíte jej převést na řetězec a poté jej porovnat symbolem a pak bez ohledu na to, jaký byl váš popis správný?
protože pokud se podíváte na přidání symbolu přímo tam, můžete vidět, že je to v podstatě jen symbol. Ale teď, co byste mohli udělat, je přístup k popisu symbolu pomocí sym.popis a můžete zkontrolovat, zda se to rovná vašemu popisu, který byl původně předán.
hledáte bezplatnou zprávu o odhadu rozpočtu pro vývoj ReactJs, vývoj NodeJs, vývoj AngularJS.?