Keresés

Új hozzászólás Aktív témák

  • Zedz
    addikt

    Ha az ES6-ra gondolsz, akkor úgy vélem, hogy az elterjedése folyamatos, és csak a projekt karakterisztikái határozzák meg, hogy már ma is használhatod-e, vagy sem. Például ha olyan a projekt, hogy folyamatos buildelést kíván, mert például browserify-t, vagy webpacket használsz, akkor akár már most is használhatsz olyan eszközöket, mint a 6to5, vagy a Traceur, és szerintem ilyen esetben ajánlott is használni valamit. Én például mostanában React-os projeketeket csinálok, browserify-t használok, kifejezetten ES6 to ES5 transpilerem nincs, de a reactify miatt van 1-2 ES6-os feature amit "ingyen" megkapok. Ezeket előszeretettel használom már most is.

    Szóval, 100%-os támogatottságra még biztos várni kell, szerintem minimum egy évet, de a migráció folyamatos a vendorok részéről, így az idő előre haladtával mind több és több ES6-os feature-t lehet használni.

    megj: illetve mivel az iojs ilyen jó ES6 támogatottsággal rendelkezik, ezért szerver oldalon már ma is lehet használni az újdonságokat.

    ES6 bocsánat, elírtam. :))

    Ezt a "Browserify"-t már többször láttam említve, most gyorsan kicsit utánanéztem. Ez egy olyan tool, ami segít elszeparálni a JS kódunkat? Majd a végén egy bundlebe rakja őket?

    Köszi a tippet, ez a 6to5 szimpatikusnak tűnik. :)

    (#4803) Jim-Y akkor ezek már ES6 fícsörök?

  • Jim-Y
    veterán

    Ha az ES6-ra gondolsz, akkor úgy vélem, hogy az elterjedése folyamatos, és csak a projekt karakterisztikái határozzák meg, hogy már ma is használhatod-e, vagy sem. Például ha olyan a projekt, hogy folyamatos buildelést kíván, mert például browserify-t, vagy webpacket használsz, akkor akár már most is használhatsz olyan eszközöket, mint a 6to5, vagy a Traceur, és szerintem ilyen esetben ajánlott is használni valamit. Én például mostanában React-os projeketeket csinálok, browserify-t használok, kifejezetten ES6 to ES5 transpilerem nincs, de a reactify miatt van 1-2 ES6-os feature amit "ingyen" megkapok. Ezeket előszeretettel használom már most is.

    Szóval, 100%-os támogatottságra még biztos várni kell, szerintem minimum egy évet, de a migráció folyamatos a vendorok részéről, így az idő előre haladtával mind több és több ES6-os feature-t lehet használni.

    megj: illetve mivel az iojs ilyen jó ES6 támogatottsággal rendelkezik, ezért szerver oldalon már ma is lehet használni az újdonságokat.

    Például ha Reactos projekte van az embernek, és használ JSX-et és reactify-al buildeli, akkor ezeket a harmony feature-öket használhatja:

    reactify transform also can compile a limited set of es6 syntax constructs into es5. Supported features are arrow functions, rest params, templates, object short notation and classes. You can activate this via --es6 or --harmony boolean option:

    Mozillában tesztelve, próbáldd ki őket, scratchpadben mindegyik megy :)

    arrow functions
    ============

    document.body.addEventListener('click', event => console.log(event.target));

    rest params
    =========

    function sum(a, b, ...rest) {
    return Math.max(...[a,b].concat(rest));
    }

    console.log(sum(1,2)); // 2
    console.log(sum(1,2,4,1,5,6,12,2,3)); // 12

    templates
    ========

    console.log(
    `The max out of 1 and 2 is ${sum(1,2)}`
    );
    // "The max out of 1 and 2 is 2"

    object shorthand notation
    ===================

    var myModule = function() {

    var newMax = function(a, b, ...rest) {
    return Math.max(...[a,b].concat(rest));
    };

    var oldMax = function() {
    return Math.max.apply(Math.max, [].slice.call(arguments));
    };

    // old syntax
    // return {
    // oldMax: oldMax,
    // newMax: newMax
    // };

    return {
    oldMax,
    newMax
    };
    };

    console.log(
    myModule().oldMax(1,2,3,4,9,3,4,5)
    ); // 9

    classes
    ======

    // In iojs/node
    class Topic extends EventEmitter {

    constructor() {
    super();
    }

    publish() {
    this.emit('article');
    }

    subscribe(subscriber) {
    // subscribe
    }

    }

    És nincs felsorolva, de a destructuring is műküdik:

    destructuring
    ==========

    var React = require('react'),
    { Route, DefaultRoute } = require('react-router'),
    { AppComponent, Contact, Content } = require('./components/Screens'),
    baseUrl = require('../appConfig.json').app.baseUrl;

    module.exports = (
    <Route name="home" path={baseUrl} handler={AppComponent}>
    <Route name="contact" path="contact" handler={Contact} />
    <DefaultRoute handler={Content} />
    </Route>
    );

Új hozzászólás Aktív témák