Javascript. Стандарт ES6. Смысл, основные фишки и подвохи.

Поділитися
Вставка
  • Опубліковано 1 чер 2017
  • Обзор стандарта ES6. Объявление переменных: var, let и const. Стрелочные функции. Подстановка переменных в строки. Простое ООП. Оператор ... (spread). Поддержка браузерами. Очередная магия nodeJS - babel.
    js.dmitrylavrik.ru/

КОМЕНТАРІ • 52

  • @user-bo4ly4ko1d
    @user-bo4ly4ko1d 7 років тому +5

    Выпускай почаще уроки, очень понятно обьясняешь!

  • @user-ti1fj3fc4f
    @user-ti1fj3fc4f 6 років тому

    Огромное спасибо за такие познавательные вебинары, все знания наконец-то упорядочилась )))

  • @accountundefined228
    @accountundefined228 6 років тому +2

    Очень круто, что ты задаешь вопросы аудитории во время выбинара, и слушатель спрашивает себя "э ё, а я это знаю?", "опа, не знаю, надо подтянуть!". Ваще огонь выбинар твой! Планирую ещё их у тебя позырить)

  • @seanlangley7467
    @seanlangley7467 6 років тому +1

    Спасибо за урок, юнга, снимаю перед тобой свою треуголку.

  • @ivanandreichuk433
    @ivanandreichuk433 7 років тому +10

    Ещё не смотрел. Но тема супер. Докладчик - наверное один лучших. вообще.

  • @obvious_things
    @obvious_things 7 років тому +3

    сморю твои вебинары как развлекательный контент) В том плане, что они очень позитивные.
    Качество в 720р конечно уже несерьезно, если стримить в 1080р проблемно, то параллельно со стримом бы записывал программой захвата и выкладывал бы запись в высоком качестве.
    А по ES6, тут конечно тот еще вопрос, в каких случая стоит его применять, ибо если все равно приходится перегонять через бабель ("препроцессор" для js) в ES5, то можно писать уже на TypeScript. Хотя, в будущем ES6 не нужна будет конвертация, что станет весомым преимуществом перед TypeScript.

  • @user-sc7li4gv4f
    @user-sc7li4gv4f 6 років тому +42

    я человек простой, вижу видео Лаврика - ставлю лайк.

  • @accountundefined228
    @accountundefined228 6 років тому

    Зачет урок! Нормас объясняешь, всё вкуриваю с лету!

  • @Arctikus
    @Arctikus 6 років тому

    Благодарю, очень познавательно!

  • @denweb2408
    @denweb2408 7 років тому +5

    Спасибо за видосы! Очень доходчиво рассказываешь!

  • @PacoOfficial
    @PacoOfficial 7 років тому +19

    ооо годнота от лаврика)) лайк, репост, вся фигня

    • @user-qj2yg1rn3j
      @user-qj2yg1rn3j 5 років тому +2

      Устроился на работу? Что-то давно тебя не видел в коментах

  • @chip_a
    @chip_a 6 років тому

    Спасибо ты самый крутой наставник

  • @yakut54
    @yakut54 6 років тому

    Диман, красавчик!

  • @WashYourBack
    @WashYourBack 7 років тому +8

    Один только минус, объяснить что такая то директива ведет себя так-то можно за 5 секунд (константа объявляется один раз и не изменяется, но если константа будет с типом объект, то значения этого объекта мы изменять сможем, вот Вам пример), а мы растягиваем это на 5 минут.

  • @kellmen5975
    @kellmen5975 6 років тому +1

    Про рекурсии запили видосик)

  • @Rudik4455
    @Rudik4455 5 років тому +20

    кто из 2019?

    • @LevchukAnton
      @LevchukAnton 4 роки тому +2

      Стыдно быть с 2020го и не знать es6(

    • @redhook777
      @redhook777 3 роки тому

      @@LevchukAnton самый тупой комментарий, который я видел

  • @protected5193
    @protected5193 5 років тому +1

    Лавр красавчик

  • @oleksiipetrenko3824
    @oleksiipetrenko3824 7 років тому +1

    Дмитрий, вы лучший! :) Скажите, а где можно узнать когда у вас появляются трансляции? А то я смотрю только уже в записи на ютубе

  • @ajladdin
    @ajladdin 2 роки тому

    Круть

  • @asgart_vocal
    @asgart_vocal 7 років тому

    Дмитрий, а вы преподаете PHP ?
    УЖ очень нравится то как вы объясняете, на пальцах.
    Все доходчиво и понятно.

    • @user-kn5xp8ec9d
      @user-kn5xp8ec9d 7 років тому

      Ну конечно, перейди к нему в профиль и там найдешь много интересного + он ведет свой блог в котором куча годной инфы

  • @user-wr5pu5gi9q
    @user-wr5pu5gi9q 6 років тому

    Плюсанул за ес6 ну и еще дополнительно за netbeans.

  • @vanrushvideosandtravels3159
    @vanrushvideosandtravels3159 5 років тому

    1:23:01 - а вот такой js мне уже нравится

  • @sfiirwuejnn
    @sfiirwuejnn 6 років тому +1

    Спасибо за урок

  • @user-ri8ow3qh7l
    @user-ri8ow3qh7l 6 років тому

    Спасибо огромное, на сайте learnjavascript тоже можно почитать, но инфа не так заходит, и многое мимо. Хорошо когда есть хороший препод, и все на пальцах объясняет.

  • @VorobyevAlexander
    @VorobyevAlexander 5 років тому

    2019 год. А вот стоит ли пользоваться ES6 в реальных проектах (по крайней мере на открытых сайтах для всех). Иногда же в требованиях тот же ИЕ 11.
    use strict. А разве это не инструкция, что проверять четкое соответствие стандарту (и начиная с ES5) (я могу ошибаться) и запрещающая ряд вольностей?
    По поводу констант и объектов. Логика тут есть. Как я понимаю, переменные хранят не сам объект, а ссылку на объект. Т.е. если вы и в ES5 каким то двум объектвм добавите свойство типа объект (с третьим объектом в качестве значения). То "через" какой бы объект вы не меняли свойства третьего объекта, это будет отражаться везде. Т.е. здесь речь идет о константной ссылке на объект, а не об объекте константе....

  • @uliasvatchenko9058
    @uliasvatchenko9058 3 роки тому

    Мне ещё учиться и учиться........))

  • @Grandjets
    @Grandjets 5 років тому

    for это оператор, как он может ограничить видимость переменной? он ее лишь объявляет/ let видимо убивает переменную цикла..

  • @kosoystudio
    @kosoystudio 7 років тому

    что такое с картинкой почему черные полосы по бокам?

  • @klyopa2552
    @klyopa2552 7 років тому +5

    /* Как по мне Ваш пример с ES5 ООП в целом и с наследованием в частности слишком утрирован, ведь там еще есть вполне норм метод Object.create() Например: */
    var Man = {
    constr: function(name, age, sex) {
    this.name = name;
    this.age = age;
    this.sex = sex;
    return this;
    },
    greeting: function () {
    console.log('Hi, my name is ' + this.name + ', Im ' + this.age + ' years old.');
    }
    };
    var alex = Object.create(Man).constr('Alex', 20, 'male');
    alex.greeting(); // Наследование реализовано
    var Translator = Object.create(Man);
    Translator.constr = function (name, age, sex, languages) {
    Man.constr.apply(this, arguments);
    this.languages = languages;
    this.work = function () {
    console.log('Translating');
    };
    return this;
    }; // Метод изменен без копипаста, создан новый подкласс Translator класса Man
    var translatorAnya = Object.create(Translator).constr('Anya', 31, 'female', ['english', 'spanish', 'franch']);
    translatorAnya.work(); // Новый метод подкласса Translator присутствует и отрабатывает
    translatorAnya.greeting(); // Старый метод класса Man никуда не делся
    /*Вполне себе ООП.
    Как по мне ES6 принес только синтаксический сахар (super();) и более неабстрактное понятие класса. */

    • @klyopa2552
      @klyopa2552 7 років тому +1

      Да, так правильно и нужно делать. Но пример не об этом)

  • @vitalijslavrinovics8756
    @vitalijslavrinovics8756 6 років тому

    Сложновато, сложновато для меня. Лутче основы nodeJS нам пожалуйста :)

  • @user-ni4vw6yw8b
    @user-ni4vw6yw8b 7 років тому

    Мне кажется, что с появлением ES6, javascript и python стали еще более похожи: аргументы по умолчанию, spread похож на распаковку\запаковку последовательностей и т.д.

    • @user-ni4vw6yw8b
      @user-ni4vw6yw8b 7 років тому

      А еще вижу форматирование строк и анонимную функцию))) Решено: учу дальше.

  • @nikitafromov9269
    @nikitafromov9269 6 років тому

    31:55

  • @donBerezza
    @donBerezza 7 років тому

    почему так поздно? уже есть ES-2017

    • @serzhuk22
      @serzhuk22 7 років тому +5

      а где он поддерживается?

  • @serafim_ua
    @serafim_ua 4 роки тому

    const MyTimer = function(t) {
    this.time = t;
    this.tick = () => {
    this.time -= 1;
    console.log(this.time);
    }
    this.run = () => setInterval(() => this.tick(),1000);
    }
    let t1 = new MyTimer(100);
    t1.run();
    Все работает, главное желание и понимание ES 6
    Хотя лучше так:
    const MyTimer = function (t, s = 0) {
    this.time = t;
    this.stop = s;
    this.tick = () => {
    this.time -= 1;
    console.log(this.time);
    }
    this.run = () => setInterval(() => (this.time

  • @YWNWA-ZXC
    @YWNWA-ZXC 5 років тому

    зачем ";" в самом конце кода

  • @kstishko6771
    @kstishko6771 5 років тому

    По-моему, стрелочные функции - это не сложно

  • @user-uj9ut4xs8b
    @user-uj9ut4xs8b 5 років тому

    Не могу отделаться от впечатления, что js тырит все фишки у Java. const это final переменные, ... это varargs, а ООП вообще полная копия.

  • @user-en8fd9ut5q
    @user-en8fd9ut5q 5 років тому

    pipe - это фильтр

  • @pwklaid
    @pwklaid 5 років тому

    + звук есть

  • @hunabis2693
    @hunabis2693 7 місяців тому

    я который смотрю это в 2023

  • @user-hz7iw8lq1v
    @user-hz7iw8lq1v 4 роки тому +1

    мда, ua-cam.com/video/Spme1IW1ejg/v-deo.html и чего это она должна быть не видима? Мне ну просто ОЧЕНЬ ИНТЕРЕСНО ПОЧЕМУ ЭТО БАГ? она была обьявлена в цикле, переменная создана, она на уровне тут же спрашивается, она хранит результат работы твоего счетчика, и в чем же баг???? это особенность данного применения переменной, такое поведение переменной есть во многих языках, и это не является багом пример, C# C++ и др. Если тебе станет легче, возьми 2 цикла, с одной и той же переменной и проверь результат между ними, и окажется что переменная переобьявляется) Знать об этой особенности и разнице в использовании var и let нужно, но называть нормальное поведение багом это откровенное вранье
    Не нужно говнокодить, и будет счастье и писать портянки, когда можно просто обернуть все в function, и вызвать его при ините, и ничего не будет вам прилетать, учитесь писать нормально, и учитывать правила, которые придуманы не даром, а в особенности нормально называть переменные, а не тыкать везде i и потом удивлятся что у вас он не равен 0!

  • @dr.kondakov
    @dr.kondakov 5 років тому

    мозила? ею еще кто то пользуется?