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

preview_player
Показать описание
Обзор стандарта ES6. Объявление переменных: var, let и const. Стрелочные функции. Подстановка переменных в строки. Простое ООП. Оператор ... (spread). Поддержка браузерами. Очередная магия nodeJS - babel.

Рекомендации по теме
Комментарии
Автор

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

scligvf
Автор

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

ВікторВінчіторе
Автор

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

ivanandreichuk
Автор

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

accountundefined
Автор

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

PacoOfficial
Автор

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

tifjfcf
Автор

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

seanlangley
Автор

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

WashYourBack
Автор

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

obvious_things
Автор

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

denweb
Автор

Только сейчас посмотрел видео. Спасибо за вебинар, но есть неточности:
1. Дмитрий говорит о spread операторе, а в примере показывает rest.
2. "Нет рекурсий в стрелочных функциях", вы серьезно? Есть, причем проще и удобнее, видимо дело привычки.
Да, и относится к ООП в JS можно по разному, но реализация в нем больше соответствует идеям Алана Кэя, чем ООП в C++.

DominicanaPuntaCana
Автор

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

accountundefined
Автор

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

oleksiipetrenko
Автор

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 <= this.stop) ? clearInterval(this.run) : this.tick(), 1000);
}
let t1 = new MyTimer(5);
t1.run();

serafim_ua
Автор

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

vanrushvideosandtravels
Автор

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

riowqhl
Автор

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

Игорь-мля
Автор

/* Как по мне Ваш пример с 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();) и более неабстрактное понятие класса. */

klyopa
Автор

2019 год. А вот стоит ли пользоваться ES6 в реальных проектах (по крайней мере на открытых сайтах для всех). Иногда же в требованиях тот же ИЕ 11.

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

VorobyevAlexander
Автор

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

asgart_vocal