Вопрос: Как использовать ECMAScript для модульных компонентов в JavaScript?

 

EcmaScript Полный курс (ES6, ES7, ES8)

Видео взято с канала: Владилен Минин


 

Что такое ECMAScript 6 | JavaScript ES 6 | Обзор ECMAScript

Видео взято с канала: TGrey Обучение Программированию


 

ECMAScript 6. Урок 1. Введение в ES6, настройка простейшей сборки webpack

Видео взято с канала: ITVDN


 

ES6 015 Модули в JavaScript

Видео взято с канала: Web Programming


 

EcmaScript 6 (ES6) Система модулей. Модули (Урок 13)

Видео взято с канала: Web Programming


 

ES6 #18 Модули (Modules)

Видео взято с канала: webDev


 

Модули / Введение в программирование, урок 14 (JavaScript ES6)

Видео взято с канала: Хекслет


26 комментариев

  • При объяснении Promise звучит фраза «метод then будет вызван тогда, когда закончится асинхронный код».
    Корректнее было бы сказать, что «когда Вы вызываете метод then, асинхронный код уже отработал».
    В этой формулировке делается акцент на следующих моментах:
    1. Вы (разработчик) инициируете вызов метода then
    2. CallBack, переданный в метод then, выполняется АСИНХРОННО (через отправку события в eventLoop)
    3. Асинхронный код (тот, что передаёт в конструктор Promise) отрабатывает СИНХРОННО его запускает конструктор Promise
    на простых примерах это доступно показано по ссылке https://medium.com/javascript-everyday/javascript-theory-promise-vs-observable-d3087bc1239a

  • В теории все понятно. Но вот я (начинающий) столкнулся с проблемой. Худо бедно писать скрипты я научился. Решил перейти на другой уровень и попробовать написать приложения на js. Написал карточную игру «подкидной дурак» и пытаюсь сейчас написать «Поле Чудес». Так вот проблема в чем… В карточной игре у меня получилось где-то 30 маленьких функций, которые друг друга вызывают, передают параметры, что-то возвращают и т.д. И это сложновато в итоге для восприятия! Читал про модули и ООП. Типа надо разделять и все такое. Ну я посмотрел там классы, наследования, прототипы и все в этом духе. Я не понимаю, как это мне поможет. И это видео, про разделение на файлы, похоже тоже не даст выгоды, только еще больше запутает, т.к. нужно будет прыгать по разным файлам. Может вы запишете видео отдельное о том, как лучше организовывать код в небольших и средних приложениях? Плз!:)

  • Это все написано на learn.javascript.ru. Только вот я делаю все как в учебнике = как в этом видео но ничего не работает. Самое важное не показали: как правильно связывать файлы, и нужны ли еще какие-то доп.настройки

  • Правильно ли я понял, что асинхронностью является задержка связанная с выполнением некоторой операции (например, отправкой сервером ответа на мой запрос). Если операция объявлена как инстенс класса промис (обещание), то в этом классе есть метод, который принимает результат моей операции, и если результат успешный, то выполняется метод резолв (решено, можно действовать дальше), а если не успешный то, метод риджект (отклонить, запрос не выполнен)

  • Привет)По какой причине может выходить ошибка Uncaught SyntaxError: Unexpected token ‘export’
    и такая Uncaught SyntaxError: Cannot use import statement outside a module

    код точно такой же как у вас… браузер хром…

  • import {add, subtract, PI} from ‘./justMyMath.js’; Остроконечными шляпками выделено слово «import». SyntaxError: Cannot use import statement outside a module. Вроде все правильно…:-( откуда это?

  • Нужно добавить, что по стандарту в браузерных модулях при импорте нужно указывать относительный путь к файлу, включая расширение, то есть ‘./mymath.js’
    У автора работает ‘./mymath’ только потому, что используется темплейт Codesandbox с настроенным сборщиком Parcel, без сборщика такой синтаксис работать не будет. Странно, что это не озвучено

  • создал массив arr = [1,2]. сделал сравнение arr = [1,2], получил ложь. думаю, что программисты, понимающие такое, весьма возвышенные интеллектуально люди. хотя на самом деле шучу, в этих роликах материал изложен понятнее, чем таблица умножения.

  • Либо я неправильно понял выражение «Какие нововведения у нас присутствуют по мимо Object.keys()» (56:10) и автор имел ввиду что-то другое, но хочу отметить, что Object.keys() это старая фича которая была реализована до es6 (https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/keys) хотя и есть некоторые нюансы в реализации es5 и es6. Но в целом для закрепления материала хорошее видео:)

  • Здраствуйте,подскажите пожалуйста extension в vs code, которьій бьі подсвечивал значения в функции как на 35:36:
    (console.log(str.padStart( maxLenght: 10, fillstring: ‘1234’)) maxLenght и fillstring подсвечивается автоматически

  • Надо было разделить по темам, а то все смешал. Сначала расказать про переменным, какие переменные бывают,как вызвать и т.д. далее тема типы данных: а там уже какие типы данных могут иметь в переменных и с чем его едят, далее условие if, case и т.д. Циклы, массивы, функции и т.д. иначе новичку будет сложно понять

  • Очень классно!
    Спасибо за урок!!
    Единственно, что мне показалось ошибочным в уроке:

    Когда речь шла о Map и Set. У set был метод set.delete(1), и я подумал что он удаляет элемент по индексу, мол, будет удалён второй элемент т.к. нумерация списка всегда с нуля.
    Но когда сам копался, то понял что он удаляет не по индексу, а по значению…
    Вот
    Ну, возможно я неправильно услышал или понял.

  • Здравствуйте, подскажите, пожалуйста, а возможно сделать импорт целого файла в другой без использования вебпак (т.е не отдельные классы,функции импортировать, а целый файл? Задача в том, чтобы все переменные, функции и классы второго js файла видел первый js файл, и их использовал. Пока никакой магией не получается это сделать. Или здесь без сборщиков внешних не обойтись?

  • Извините, я немного не понял на 8:37. В функции hoisted() вы говорите, что мы обращаемся к переменной age = 26. А разве эта строка не говорит о том, что мы объявляем переменную неявным образом и присваиваем ей значение 26?

  • Привет Владилен.

    Для начала, ОГРОМНОЕ (пожалуй, только так на данный момент могу сказать спасибо за твои старания судя по комментариям) СПАСИБО!!!

    Я новичок в программировании (мои знание = 0). До недавно засматривалась на Питон/Пайтон и т.д., но так как я немного «вебмастер» (ВордПресс) которая пытается заработать на своих ресурсах, то JS мне более близок в плане первого ЯП, тем более за последние пол года вижу, то искусственный интеллект заразил и веб язык Javascript.

    Ну да ладно… Владилен (надеюсь ты не против что я на «ты») твои мне курсы интересно изучить, но я не могу понять с чего мне начать с твоего плейлиста, нигде не сказано «JS для начинающих», просто не хотелось бы начать не с того и понять, что это мне не нужно (хотя мне это все-таки интересно).

    Спасибо:)

  • до 1:31:20 было все понятно, и потом резко стало вообще ничего непонятно… а я тока подумал: «блин, насколько же классно и понятно человек объясняет по сравнению с уродским learn.javascript,… но нет…» )) return после let i = 0 ломает мне мозг

  • Спасибо большое за ваши уроки!
    Немного хотела уточнить, на 52 минуте, где приводится пример с newAddress = {…address} объект не копируется, а передается по ссылке и если изменить исходный объект, то в «скопированных» поля тоже изменятся.
    Да и само собой я понимаю, что вы об этом безусловно знаете, но начинающих это может в последствии удивить)

  • 00:49:00 не понял почему контекст у this global, ведь в данном случае он должен быть равен объекту address. У нас же нет вложенных функций и наша функция стандартная, а не стрелочная. 1:14:00 Вы не объяснили почему мы пишем this._job вместо this.job. Так же не знаю как у Вас получилось вывести свойство type.human у class Person, но это не работает, а в таких источниках как learnjavascript.ru и mdn пишут, что свойства в классах задавать нельзя, что для меня немного дико после php

  • Евгений, вопрос. Вы описывали простой экспорт с переименованием export { one as onse, two as twice }, а потом импортируете переменные import { one, two } from… Правильно ли я понимаю что переименование подразумевает что в импорт one пойдет как once? Или все таки как one? Сейчас, к сожалению, нет времени собрать и посмотреть эмпирическим путем:)

  • Коли почали говорити про Babel то його не було у файлі package.json в devDependencies, тому не працювала команда nmp run build, мабуть потрібно додати цей момент, оскільки в користувача може не бути глобально встановленного Babel.

  • плохое объяснение. рассказчик объясняет качества поведения, исполнение кода словами: «вот так это работает», не упоминая, почему. А есть LexicalEnvironment и ссылки на внешнее лексическое окружение. По сути, он просто запускает код и говорит: вот, работает.

    Хочу отметить, что на русском языке таких лекторов, которые переписывают примеры со своими бесполезными комментариями почти весь сегмент рутьюба.

  • 1. Moskow it’s not a city. But MosCow is the really city! Да блин!!! Нет такого города Saint-Peterburg, есть Saint-PeterSburg!!!
    2. Чтобы без вебпака стартовать ес6 импорт экспорт нужно расширения файлам.mjs давать уводя писанину в experimental mode для демонстрации.

  • Set не странно работает, а действительно реализован на базе Map. То есть просто одно и тоже значение записывается в ключ и в значение, вот тебе и Set. По крайней мере в Java это именно так реализовано.

  • Странные вещи творятся. Консоль не выдавала ошибку с этим я разобрался, в подключаемом скрипте надо было указать атрибут type=»module». Дальнейшая попытка выводить в консоль чё-то меня напрягает. Явление какое-то непонятное я предаю одну переменную, а отрабатывает весь файл. В консоль всё выводится.
    Получаемую переменную вывожу сразу в консоль, но не кто не мешает выводить разные данные в консоль в передаваемом файле и отображается это всё в переданном файле. Меня это и смутило. Конечно напрямую к не переданным переменным обратиться не могу.

  • Учителя, почему вы так тараторите, когда даёте новую информацию? Я понимаю, когда про поселение рассказываешь, там можно тараторить, все слова знакомы до мозга костей.но когда уже идёт рассказ именно про js, не нужно так тараторить. Не мешало бы повторить несколько раз новое слово. И картинки мелькают слишком быстрою
    Разве что поставить на медленную скорость? А попробую