JS ES5 vs ES6?

Дискусија во форумот 'HTML, CSS, JavaScript, XML базирани' започната од JensenInterceptor, 27 Декември 2016.

  1. JensenInterceptor

    JensenInterceptor n00b

    54
    16
    28 ноември 2015
    Машко
    Здраво. Куцам многу добар ЈаваСкрипт ама се уште во стилот на Даглас Крокфорд, со JSLint. Сега во последно време го чепкам ESLint којшто може да се подеси на твојот стил на куцање јаваскрипт. Со помоп на NodeJS и NPM има за се, запирки, единечен или двоен наводник, табови(јазиче) или спејсови(празно место) итн...

    Арно ама сеа гледам некои фирми го туркаат ES6 иако се уште прелистувачите не се во состојба да го извршуваат целосно. Као демек вклучуваш некои си библиотеки за да ти работи. Наводно гледам дека има класи со сетери/гетери, досег во пар загради(block scope) итн... (Во срцето ЈаваСкрипт нема класно наследување, само прототипно)

    Дали некој веќе работи ES6 на вистински проекти или само така се чини?
    И ако да, дали ES6 е скроз нов јазик во однос на петката? Или разликите се лесни за учење?

    http://es6-features.org
     
  2. P.Overdrive

    P.Overdrive Гик

    304
    184
    23 Јуни 2010
    ES6 се користи во комбинација со некој transpiler/compiler (пр.: Babel) кој го "преведува" кодот во ES5 (или постара верзија). На овој начин ги добиваш сите тие модерни, убави функционалности без да се грижиш дали истите се поддржани од сите прелистувачи. Така што, да, ES6+ се користи на вистински проекти, и би ти препорачал што поскоро да почнеш да го чепкаш :)
     
    На JensenInterceptor му/ѝ се допаѓа ова.
  3. JensenInterceptor

    JensenInterceptor n00b

    54
    16
    28 ноември 2015
    Машко
    Значи куцаш ЕС6 и после ова со Build Automation алатка(Џенкинс) автоматски го преведува во ЕС5, успатно со тестови и со deploy на сервер?

    Добро. Има време дур сите се префрлат на ЕС6.
     
  4. P.Overdrive

    P.Overdrive Гик

    304
    184
    23 Јуни 2010
    И да, и не.

    Како што си напишал погоре, делот со Jenkins повеќе се однесува на целиот процес (build, test, deploy). Jenkins е само еден пример за софтвер/сервис кој го овозможува ова, а Babel е само една алатка која се користи во првиот чекор од процесот.

    Во најпроста форма, Babel може да се повика преку CLI/terminal:
    Код:
    babel src -d lib
    каде src е папката со изворниот код (ES6+), а lib е папката каде ќе биде генериран крајниот резултат. Boom, done. На сајтот на Babel имаш подетални инструкции.

    Финтата е да не чекаш другите да се префрлат. Веќе има ES7, наредна година ќе има ES8 и тн. Прелистувачите секогаш ќе каснат со имплементирање на најновите функционалности кои се веќе спремни за користење, ама затоа постојат алатки како Babel кои го пополнуваат тој простор.
     
    На JensenInterceptor му/ѝ се допаѓа ова.

Сподели