Очень круто, что ты задаешь вопросы аудитории во время выбинара, и слушатель спрашивает себя "э ё, а я это знаю?", "опа, не знаю, надо подтянуть!". Ваще огонь выбинар твой! Планирую ещё их у тебя позырить)
Один только минус, объяснить что такая то директива ведет себя так-то можно за 5 секунд (константа объявляется один раз и не изменяется, но если константа будет с типом объект, то значения этого объекта мы изменять сможем, вот Вам пример), а мы растягиваем это на 5 минут.
Только сейчас посмотрел видео. Спасибо за вебинар, но есть неточности: 1. Дмитрий говорит о spread операторе, а в примере показывает rest. 2. "Нет рекурсий в стрелочных функциях", вы серьезно? Есть, причем проще и удобнее, видимо дело привычки. Да, и относится к ООП в JS можно по разному, но реализация в нем больше соответствует идеям Алана Кэя, чем ООП в C++.
сморю твои вебинары как развлекательный контент) В том плане, что они очень позитивные. Качество в 720р конечно уже несерьезно, если стримить в 1080р проблемно, то параллельно со стримом бы записывал программой захвата и выкладывал бы запись в высоком качестве. А по ES6, тут конечно тот еще вопрос, в каких случая стоит его применять, ибо если все равно приходится перегонять через бабель ("препроцессор" для js) в ES5, то можно писать уже на TypeScript. Хотя, в будущем ES6 не нужна будет конвертация, что станет весомым преимуществом перед TypeScript.
2019 год. А вот стоит ли пользоваться ES6 в реальных проектах (по крайней мере на открытых сайтах для всех). Иногда же в требованиях тот же ИЕ 11. use strict. А разве это не инструкция, что проверять четкое соответствие стандарту (и начиная с ES5) (я могу ошибаться) и запрещающая ряд вольностей? По поводу констант и объектов. Логика тут есть. Как я понимаю, переменные хранят не сам объект, а ссылку на объект. Т.е. если вы и в ES5 каким то двум объектвм добавите свойство типа объект (с третьим объектом в качестве значения). То "через" какой бы объект вы не меняли свойства третьего объекта, это будет отражаться везде. Т.е. здесь речь идет о константной ссылке на объект, а не об объекте константе....
Спасибо огромное, на сайте learnjavascript тоже можно почитать, но инфа не так заходит, и многое мимо. Хорошо когда есть хороший препод, и все на пальцах объясняет.
Мне кажется, что с появлением ES6, javascript и python стали еще более похожи: аргументы по умолчанию, spread похож на распаковку\запаковку последовательностей и т.д.
/* Как по мне Ваш пример с 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();) и более неабстрактное понятие класса. */
мда, th-cam.com/video/Spme1IW1ejg/w-d-xo.html и чего это она должна быть не видима? Мне ну просто ОЧЕНЬ ИНТЕРЕСНО ПОЧЕМУ ЭТО БАГ? она была обьявлена в цикле, переменная создана, она на уровне тут же спрашивается, она хранит результат работы твоего счетчика, и в чем же баг???? это особенность данного применения переменной, такое поведение переменной есть во многих языках, и это не является багом пример, C# C++ и др. Если тебе станет легче, возьми 2 цикла, с одной и той же переменной и проверь результат между ними, и окажется что переменная переобьявляется) Знать об этой особенности и разнице в использовании var и let нужно, но называть нормальное поведение багом это откровенное вранье Не нужно говнокодить, и будет счастье и писать портянки, когда можно просто обернуть все в function, и вызвать его при ините, и ничего не будет вам прилетать, учитесь писать нормально, и учитывать правила, которые придуманы не даром, а в особенности нормально называть переменные, а не тыкать везде i и потом удивлятся что у вас он не равен 0!
Выпускай почаще уроки, очень понятно обьясняешь!
я человек простой, вижу видео Лаврика - ставлю лайк.
Очень круто, что ты задаешь вопросы аудитории во время выбинара, и слушатель спрашивает себя "э ё, а я это знаю?", "опа, не знаю, надо подтянуть!". Ваще огонь выбинар твой! Планирую ещё их у тебя позырить)
Ещё не смотрел. Но тема супер. Докладчик - наверное один лучших. вообще.
CodeDojo посмотри.
@@anatolblackforest7615 там почти все платное
Один только минус, объяснить что такая то директива ведет себя так-то можно за 5 секунд (константа объявляется один раз и не изменяется, но если константа будет с типом объект, то значения этого объекта мы изменять сможем, вот Вам пример), а мы растягиваем это на 5 минут.
Только сейчас посмотрел видео. Спасибо за вебинар, но есть неточности:
1. Дмитрий говорит о spread операторе, а в примере показывает rest.
2. "Нет рекурсий в стрелочных функциях", вы серьезно? Есть, причем проще и удобнее, видимо дело привычки.
Да, и относится к ООП в JS можно по разному, но реализация в нем больше соответствует идеям Алана Кэя, чем ООП в C++.
Огромное спасибо за такие познавательные вебинары, все знания наконец-то упорядочилась )))
Спасибо за урок, юнга, снимаю перед тобой свою треуголку.
ооо годнота от лаврика)) лайк, репост, вся фигня
Устроился на работу? Что-то давно тебя не видел в коментах
сморю твои вебинары как развлекательный контент) В том плане, что они очень позитивные.
Качество в 720р конечно уже несерьезно, если стримить в 1080р проблемно, то параллельно со стримом бы записывал программой захвата и выкладывал бы запись в высоком качестве.
А по ES6, тут конечно тот еще вопрос, в каких случая стоит его применять, ибо если все равно приходится перегонять через бабель ("препроцессор" для js) в ES5, то можно писать уже на TypeScript. Хотя, в будущем ES6 не нужна будет конвертация, что станет весомым преимуществом перед TypeScript.
Зачет урок! Нормас объясняешь, всё вкуриваю с лету!
Спасибо за видосы! Очень доходчиво рассказываешь!
Спасибо ты самый крутой наставник
Мне ещё учиться и учиться........))
кто из 2019?
Стыдно быть с 2020го и не знать es6(
@@LevchukAnton самый тупой комментарий, который я видел
Про рекурсии запили видосик)
Плюсанул за ес6 ну и еще дополнительно за netbeans.
2019 год. А вот стоит ли пользоваться ES6 в реальных проектах (по крайней мере на открытых сайтах для всех). Иногда же в требованиях тот же ИЕ 11.
use strict. А разве это не инструкция, что проверять четкое соответствие стандарту (и начиная с ES5) (я могу ошибаться) и запрещающая ряд вольностей?
По поводу констант и объектов. Логика тут есть. Как я понимаю, переменные хранят не сам объект, а ссылку на объект. Т.е. если вы и в ES5 каким то двум объектвм добавите свойство типа объект (с третьим объектом в качестве значения). То "через" какой бы объект вы не меняли свойства третьего объекта, это будет отражаться везде. Т.е. здесь речь идет о константной ссылке на объект, а не об объекте константе....
Благодарю, очень познавательно!
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
for это оператор, как он может ограничить видимость переменной? он ее лишь объявляет/ let видимо убивает переменную цикла..
Лавр красавчик
1:23:01 - а вот такой js мне уже нравится
Дмитрий, вы лучший! :) Скажите, а где можно узнать когда у вас появляются трансляции? А то я смотрю только уже в записи на ютубе
vk.com/dmitrylavrik
Дмитрий, а вы преподаете PHP ?
УЖ очень нравится то как вы объясняете, на пальцах.
Все доходчиво и понятно.
Ну конечно, перейди к нему в профиль и там найдешь много интересного + он ведет свой блог в котором куча годной инфы
Диман, красавчик!
что такое с картинкой почему черные полосы по бокам?
Круть
Спасибо за урок
Спасибо огромное, на сайте learnjavascript тоже можно почитать, но инфа не так заходит, и многое мимо. Хорошо когда есть хороший препод, и все на пальцах объясняет.
Сложновато, сложновато для меня. Лутче основы nodeJS нам пожалуйста :)
Мне кажется, что с появлением ES6, javascript и python стали еще более похожи: аргументы по умолчанию, spread похож на распаковку\запаковку последовательностей и т.д.
А еще вижу форматирование строк и анонимную функцию))) Решено: учу дальше.
/* Как по мне Ваш пример с 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();) и более неабстрактное понятие класса. */
Да, так правильно и нужно делать. Но пример не об этом)
почему так поздно? уже есть ES-2017
а где он поддерживается?
Не могу отделаться от впечатления, что js тырит все фишки у Java. const это final переменные, ... это varargs, а ООП вообще полная копия.
зачем ";" в самом конце кода
По-моему, стрелочные функции - это не сложно
я который смотрю это в 2023
pipe - это фильтр
мда, th-cam.com/video/Spme1IW1ejg/w-d-xo.html и чего это она должна быть не видима? Мне ну просто ОЧЕНЬ ИНТЕРЕСНО ПОЧЕМУ ЭТО БАГ? она была обьявлена в цикле, переменная создана, она на уровне тут же спрашивается, она хранит результат работы твоего счетчика, и в чем же баг???? это особенность данного применения переменной, такое поведение переменной есть во многих языках, и это не является багом пример, C# C++ и др. Если тебе станет легче, возьми 2 цикла, с одной и той же переменной и проверь результат между ними, и окажется что переменная переобьявляется) Знать об этой особенности и разнице в использовании var и let нужно, но называть нормальное поведение багом это откровенное вранье
Не нужно говнокодить, и будет счастье и писать портянки, когда можно просто обернуть все в function, и вызвать его при ините, и ничего не будет вам прилетать, учитесь писать нормально, и учитывать правила, которые придуманы не даром, а в особенности нормально называть переменные, а не тыкать везде i и потом удивлятся что у вас он не равен 0!
+ звук есть
31:55
мозила? ею еще кто то пользуется?