Очень круто, что ты задаешь вопросы аудитории во время выбинара, и слушатель спрашивает себя "э ё, а я это знаю?", "опа, не знаю, надо подтянуть!". Ваще огонь выбинар твой! Планирую ещё их у тебя позырить)
Один только минус, объяснить что такая то директива ведет себя так-то можно за 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();) и более неабстрактное понятие класса. */
мда, ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Spme1IW1ejg.html и чего это она должна быть не видима? Мне ну просто ОЧЕНЬ ИНТЕРЕСНО ПОЧЕМУ ЭТО БАГ? она была обьявлена в цикле, переменная создана, она на уровне тут же спрашивается, она хранит результат работы твоего счетчика, и в чем же баг???? это особенность данного применения переменной, такое поведение переменной есть во многих языках, и это не является багом пример, C# C++ и др. Если тебе станет легче, возьми 2 цикла, с одной и той же переменной и проверь результат между ними, и окажется что переменная переобьявляется) Знать об этой особенности и разнице в использовании var и let нужно, но называть нормальное поведение багом это откровенное вранье Не нужно говнокодить, и будет счастье и писать портянки, когда можно просто обернуть все в function, и вызвать его при ините, и ничего не будет вам прилетать, учитесь писать нормально, и учитывать правила, которые придуманы не даром, а в особенности нормально называть переменные, а не тыкать везде i и потом удивлятся что у вас он не равен 0!