Késni fog a JavaScript következő verziójának kiadása
2014-06-11T14:21:44+02:00
2014-06-12T13:16:59+02:00
2022-07-22T19:16:18+02:00
  • Rögtön az első mintában (default params) meg lehet hívni egy függvényt -aminek minimum egy paramétere van - paraméterek nélkül.

    Ez nem igaz. Annak a függvénynek nem minimum egy, hanem minimum nulla paramétere van. Mert hogy  JavaScript-ben minden paraméter opcionális. Ezen az, hogy meg lehet határozni a paraméter alapértelmezett értékét nyilván nem változtat. Csak azon, hogy most már nem feltétlenül undefined lesz ez az alapértelmezett érték.

    Ettől függetlenül egyébként az alapértelmezett érték megadásának lehetőségével rendkívül egyszerűvé válik a paraméterek megadásának kvázi kikényszerítése is, legalábbis funkcionális szempontból. Mert hogy nyelvi szempontból a paraméter továbbra is opcionális marad, ezzel összefüggésben pedig elhagyása esetén nem a hívás helyén, hanem a hívott függvényben keletkezhet majd csak erre válaszul kivétel.
    Mutasd a teljes hozzászólást!
  • strict2014, strict 2015, stb.
    Mutasd a teljes hozzászólást!
  • Hát ezt nem tudják megjavítani úgy, hogy el ne rontsák a visszafelé kompatibilitást, mivel most szabad ilyet csinálni.

    Esetleg ha a "use strict" mintájára bevezetnének egy "use stricter"-t, ami ezt is megtiltja, úgy működhetne. Aztán később jöhetne egy "use even_stricter"
    Mutasd a teljes hozzászólást!
  • Lehet, hogy a js egyszer normális nyelv lesz

    hááááát....
    Rögtön az első mintában (default params) meg lehet hívni egy függvényt -aminek minimum egy paramétere van - paraméterek nélkül.
    Mutasd a teljes hozzászólást!
  • Mutasd a teljes hozzászólást!
  • Compatibility mód az IE11-ben is van.
    Mutasd a teljes hozzászólást!
  • Nyilván Ie8-at akart írni, de a lényegen nem változtat.
    Bár épp múlt héten néztük az oldalunk GA-jét, ami szerint a usereink 50%-a Chrome-ot használ, 25-25%-a pedig FF és IE. IE-ből a 8-as aránya az össz látogatók 0,5%-át teszi ki.
    Bár az is igaz, hogy az oldalunk leginkább Amerikából használt, van még némi nyugat-európa, csak a fejlesztés van itthon.

    Itthon lehet több XP van még használatban, így a régi IE-k aránya is magasabb lenne?
    Mutasd a teljes hozzászólást!
  • még így is lesz egy rakás hely ahol marad az IE6

    Ezt hogy? A Vista már IE7-tel települ, tudtommal nincs mód IE6-ra downgrade-elni a beépített böngészőt. Tehát IE6-ot már csak nem támogatott oprendszereken tudsz futtatni, azokkal viszont a publikus internetre felmenni már most is felelőtlenség, nem hogy 2-3 év múlva. Max. azt tudom elképzelni, hogy belső használatú webappokhoz használnak jelenleg IE6-ot olyan helyeken, ahol valami meggátolja az upgrade-et.

    (Még azok is, akik foggal-körömmel ragaszkodnak az XP-jükhöz, már különböző nyaggatások hatására frissítettek hatosról.)

    Annak az 1-2% embernek, aki esetleg két év múlva is IE6-tal próbálkozik, nyugodtan ki lehet írni, hogy "gyere vissza valami emberi böngészővel haver", mint ahogy a Google, YouTube, Facebook már most is kiírja.
    Mutasd a teljes hozzászólást!
  • Lehet, hogy a js egyszer normális nyelv lesz ? Na jó, ehhez azért kellene még némi type hint, de ez azért elég nagy előrelépés. Kár, hogy ha ez jövőre jön ki, akkor legkorábban 2-3 év múlva lesz benne az átlag user böngészőjében. Jó esetben, mert még így is lesz egy rakás hely ahol marad az IE6.
    Mutasd a teljes hozzászólást!
  • Egyrészt mindez amit most leírtál, bár nagyjából igaz, nem teszi igazzá a korábbi hamis állításod. Másrészt a kompatibilitási probléma nyilvánvalóan az elmúlt 10 évben megjelent számos EMAScript/JavaScript változatot is sújtotta.

    Attól, hogy pl. az ECMAScript 5 nem vezetett be nyíl-operátort meg "class" és "extends" kulcsszavakat (mint az ES6 teszi majd), hanem csak elválasztották az alapértelmezett this-t a globális szkóptól, megszüntettek a "with" kulcsszót meg az arguments.callee és .caller paramétereket, még éppen úgy megtörte a kompatibilitást. És ezeken konkrétan nem lehetett pl. azzal sem segíteni, amit mondjuk új standard metódusok vagy osztályok bevezetése esetén azért általában lehet csinálni, ti. hogy egyszerűen feltételesen implementálja azokat az ember JS-ből akkor, ha a futtatókörnyezet natív módon nem deklarálja, tartalmazta őket.

    Szóval az ECMAScript 5 éppen úgy magából a kódból nem kezelhető módon törte meg a kompatibilitást, mint ahogy azt az ECMAScript 4 is tette volna (és ahogy majd az EMAScript 6 fogja tenni). Ez tehát nem lehetett az oka annak, hogy az ES4 nem terjedt el. Ennek oka ehelyett az volt, hogy egyszerűen az ECMAScript 4 specifikációját be sem fejezték - így nem is volt mit elterjeszteni.

    Annak, hogy miért nem fejezték be, számos oka lehet amit nem ismerhetünk, de elég egyértelmű, hogy másfél évtizeddel ezelőtt nemes egyszerűséggel tényleg nem volt szükség arra a komplexitásra a JS-kódokban, mint az ECMAScript 4 lehetővé tett volna, a web és a böngésző pedig nem volt olyan stratégiailag fontos platform, mint ma. Ezzel összefüggésben az ECMAScript 4 fejlesztései ott és akkor feleslegesen bonyolították volna meg a böngészőgyártók életét, akik valószínűleg nemes egyszerűséggel pont ezért vetették el végül az egészet, úgy ahogy volt. Mert hogy ez anno nem lett volna kifizetődő befektetés, a hátrányok és az előnyök nem adtak volna ki pozitív mérleget azon feladatok esetében, amiket akkoriban oldottak meg a JS kódokból.

    Ugyanakkor most másfél évtizeddel később vagyunk, megváltozott körülmények között, egy olyan világban, ahol JavaScriptben nagyobb rendszereket írunk (vagy kellene írnunk), mint anno C++-ban, Delphi-ben, stb. tettük. És ahol már igenis kezd gond lenni a JavaScript egyszerűsége azokhoz a feladatokhoz és problémákhoz, amiket manapság kell megoldani vele. Így ma ugyanazoknak a nyelvi fejlesztéseknek és bővítéseknek - sőt, még az azon túliaknak is  - már van létjogosultsága, amiknek anno nem igazán volt.

    Pont ezt jelzik az olyan alternatív nyelvek és dialektusok sorban történő felbukkanása, mint a Dart, a CoffeeScript és TypeScript is, amik nem véletlen, hogy most jelennek meg. Hanem azért, mert az ECMAScript 5 keretei manapság már kezdenek szűkek lenni ahhoz a továbblépéshez, amit a fejlődés diktál.

    Pontosan emiatt van igény az ECMAScript 6, illetve az ECMAScript 7 újításaira, amik ebből adódóan - ha végre véglegesítenek - futótűzszerűen fognak elterjedni. Már amennyire ez lehetséges és amennyire a böngészőgyártókon és fejlesztőkön múlik, persze. Mindenesetre én attól nagyon nem félek, hogy ezek bármilyen módon és értelemben is az ES4 sorsára jutnak majd.

    Az egyetlen valós probléma ami eredhetne belőlük az az lenne, ha túl sokat tökölnének a kidolgozásukkal, annyira, hogy az emberek kénytelen-kelletlen, de elkezdenék adoptálni a szóban forgó nem szabványos dialektusok valamelyikét széles körben és univerzális módon. Ami értelemszerűen okafogyottá tenné az újabb standard ECMAScript verziókat. Ugyanakkor egyelőre nem úgy néz ki, hogy ez bekövetne, ha sikerül tartani legalább a frissített ütemtervet, illetve ha maximum két-három évvel az ES6 után jön majd az ES7 is.
    Mutasd a teljes hozzászólást!
  • Hogy mikor mennyire volt és van összenőve a JavaScript és az ECMAScript szabvány, azt most hagyjuk. Nem értetted mire gondoltam. Nézz csak bele nyugodtan, hogy mi volt az ECMAScript 4-ben és mi van az ECMAScript 5-ben (ami a mai JavaScript implementációk alapja nagyjából). Ég és föld, a 5-ös tkp. a 3-as módosítgatása, a nyelvi elemek apró toldozgatása, meg némi API bővítgetés, lényegi változások nélkül, pont ahhoz nem nyúl, amit sokan - köztük én - nem szeretnek a JS-ben. Azaz hiába van sorszámilag és dátumilag újabb verzió az ECMAScriptből és a JavaScriptből egyaránt, tkp. pontosan ugyanazok a nyelvi lehetőségek vannak mint 10 éve is, semmi lényegi változás nem történt. Az ECMAScript 4-es viszont a 3-ashoz (és az 5-öshöz) képest egészen komoly nyelvi fejlesztéseket tartalmazott, egy jól használható OOP támogatást adó nyelv lett volna (illetve lett is, pl. az ActionScript 3-ban megcsinálták a nagyját). Az 5-ös szabvány tervezésekor a 4-est eldobták és a 3-asra alapoztak. A 4-es újdonságaiknak az implementálása lett volna a JavaScript 2 (ami végül is nem lett), s nagyon hasonló dolgok jelennek meg az ECMAScript 6 tervezetben. Ez utóbbi tkp. a 4-es és az arra alapozva tervezett JavaScript 2 újrafelmelegítése, jórészt az akkor behalt tervről van szó. Mivel ez komoly váltást jelentene a nyelv felépítésében és inkompatiblitási problémákat a korábbi kódokkal (amit nem mindenki vállalna be szívesen), jó esélyt látok rá, hogy ugyanúgy behal, mint a korábbi próbálkozás. De én örülnék neki a legjobban, ha nem lenne igazam.
    Mutasd a teljes hozzászólást!
  • Eléggé félre vagy tájékozva. Egyrészt amit hétköznapi nyelvben JavaScript-nek hívunk, az valójában az ECMAScript, a nyelv úgymond standardizált változata. Na, most az ECMAScript folyamatosan frissül, és kb. két-három évente új verzió jelenik meg belőle. Jelenleg 5.1-nél tart, ami 2011-ben jelent meg. Az előző verziót, az 5.0-t, 2009-ban adták ki. Tehát ebből adódóan a hétköznapi értelemben vett JavaScript legújabb kiadása kb. három éves.

    Ugyanakkor tudni kell azt is, hogy az egyes böngészőkben ill. futtatómotorokban tipikusan nem a nyers ECMAScript, hanem annak ún. dialektusai vannak implementálva, amik kisebb-nagyobb egyedi bővítésekkel tarkított alváltozatokat jelentenek. Ezen egyedi implementációk közül a Mozilla-féle (tehát pl. ami a Firefox-ban) az, amit jogi és márkavédelmi szempontból is JavaScript-nek lehet ill. kell hívni. A Microsoft implementációja/dialektusa a JScript, a Chrome pedig szintén a Mozilla-féle JavaScript-et implementálja újra a V8-as motorjában. Az Adobe ActionScript-nek ill. ExtendScript-nek, a KDE meg QtScript-nek hívja a saját dialektusát. A Microsoft TypeScript-je is felfogható az ECMAScript egy dialektusának.

    Ezek a dialektusok, implementációk elvileg egymástól és a szabványtól függetlenül frissülnek, de valójában ezek közül is mindegyik legújabb kiadása már legalább az ECMAScript 5-ös (tehát 2009-es verzióján) alapszik, és arra pakolja a saját kisebb-nagyobb egyedi bővítéseit. Amik között ráadásul sok olyan dolog van, amiket az ECMAScript csak majd a 6-os verzióban standardizál (vagy még ott sem) - de egyes böngészők ill. motorok már most tudják. Ezek között van a Mozilla-féle JavaScript-motor is, ami a hétköznapi értelemben vett JavaScriptnél is előrébb jár és frissebb.

    Ennek tükrében abszolút érthetetlen, értelmezhetetlen ill. hamis, amit itt összehordtál arról, hogy - szerinted - a JavaScriptnak tíz év óta ne lett volna újabb verziója kiadva, hogy nem történik vele semmi, és reménytelen az egész. Mert a nagy helyzet az, hogy a hétköznapi értelemben vett JavaScript az 3 éve, a jogi értelemben vett pedig négy éve frissült - bár utóbbi számos olyan non-standard bővítést tartalmazott már akkor és azóta is, amik az ECMAScript szabványnak a hír szerint csak a jövő év elején véglegesítésre kerülő új, 6-os verziójában kerülnek majd rögzítésre.

    Szóval a "JavaScript" - értsük akár hétköznapi értelmében, akár márkanévként ezt a nevet - semmivel sem fejlődik lassabban, mint pl. a C# vagy a C++, és éppen úgy rendszeresen frissül. Az más kérdés, hogy pont az eltérő dialektusok miatt a nyelv azon készlete, ami tényleg gond nélkül használható minden böngészőben, kicsit le van maradva - adott esetben, ha az összes még támogatott böngészőt nézem, akkor kb. 5 évvel, mert csak a 2009-es ECMAScript 5 az amit mindegyik tudja.

    De ez nyilván megint nem csak egyedi sajátosság és ugyanígy igaz pl. a C/C++-ra is, amiről szintén elmondható, hogy kb. másfél évtizeddel ezelőtti az a verziója, ami minden ma még támogatott platformon használható. Mert hogy a C++11-es, C++14-es bővítések csak elszórva érhetők el, egy a JavaScript-hez hasonlóan sokplatformos és portábilisnak szánt kódot azokra nem, csak maximum a C99-re lehet építeni.
    Mutasd a teljes hozzászólást!
  • Minek új? A mostani is király! Ami meg jó, ahhoz kár nyúlni!
    Mutasd a teljes hozzászólást!
  • Emlékeim szerint már lassan 10 éve, hogy "már mindjárt itt van, csak egy kicsit kell még várni és kész is" a JavaScript újabb változata az ECMAScript valamelyik verziójára alapozva (akkoriban JavaScript 2 néven, az ígéretek szerint még az ECMAScript 4 szabványon alapulva). Azóta sincs semmi. Reménytelennek látszik az egész.
    Mutasd a teljes hozzászólást!
  • Pont a generatorokat amit a legjobban varok az ES6-bol nem tamogatja(a legfrissebb hivatalos hir majus 8-rol, hogy tervben van az implementalas). 
    Amugy a node edge egesz stabil es tamogatja az es6 uj feature-eit.
    Mutasd a teljes hozzászólást!
  • Mindenkinek ajanlom addigis a TypeScript-et (ha nem hasznal mar eleve mas compile-to-js nyelvet), jo adag szivastol menti meg magat es hasznalhatja az ES6 feature-ok nagyreszet mar most.
    Mutasd a teljes hozzászólást!
  • Gondolom legjobb lenne, ha ki sem adnák, hanem elküldenék az egész társaságot inkább kapálni 
    Mutasd a teljes hozzászólást!
abcd