1

Etapa 1

Введение

2

Etapa 2

Основы JavaScript

3

Etapa 3

Качество кода

4

Etapa 4

Объекты: основы

5

Etapa 5

Типы данных

6

Etapa 6

Продвинутая работа с функциями

7

Etapa 7

Свойства объекта, их конфигурация

8

Etapa 8

Прототипы, наследование

9

Etapa 9

Классы

10

Etapa 10

Обработка ошибок

11

Etapa 11

Промисы, async/await

12

Etapa 12

Генераторы, продвинутая итерация

1

Etapa 1

Введение

2

Etapa 2

Основы JavaScript

3

Etapa 3

Качество кода

4

Etapa 4

Объекты: основы

5

Etapa 5

Типы данных

6

Etapa 6

Продвинутая работа с функциями

7

Etapa 7

Свойства объекта, их конфигурация

8

Etapa 8

Прототипы, наследование

9

Etapa 9

Классы

10

Etapa 10

Обработка ошибок

11

Etapa 11

Промисы, async/await

12

Etapa 12

Генераторы, продвинутая итерация

20 agosto 2019 31 octubre 2019
Objetivo vencido en % days%

El objetivo está desatendido

El autor lleva sin comentar el objetivo 5 años 7 meses 1 día

Autor del objetivo

Елена Каликина

Rusia, Санкт-Петербург

33 año / año / año

General

Изучение JavaScript

Я решила изучить язык JavaScript по учебнику "Learn Javascript". Так как информации там очень много, то я для себя решила читать по 3 статьи в день. По мимо чтения для лучшего запоминания, да и микро-конспект на будущее, я буду отписываться здесь о том что прочитала

 Criterio del fin

Изучен весь учебник

  1. Введение

    Содержит 4 статьи:

    1. Введение в JavaScript

    2. Справочники и спецификации

    3. Редакторы кода

    4. Консоль разработчика

  2. Основы JavaScript

    Содержит 16 статей:

    1. Привет, мир!

    2. Структура кода

    3. Строгий режим — "use strict"

    4. Переменные

    5. Типы данных

    6. Преобразование типов

    7. Операторы

    8. Операторы сравнения

    9. Взаимодействие: alert, prompt, confirm

    10. Условные операторы: if, '?'

    11. Логические операторы

    12. Циклы while и for

    13. Конструкция "switch"

    14. Функции

    15. Function Expression и функции-стрелки

    16. Особенности JavaScript

  3. Качество кода

    Содержит 6 статей:

    1. Отладка в браузере Chrome

    2. Советы по стилю кода

    3. Комментарии

    4. Ниндзя-код

    5. Автоматическое тестирование c использованием фреймворка Mocha

    6. Полифилы

  4. Объекты: основы

    Содержит 6 статей:

    1. Объекты

    2. Сборка мусора

    3. Тип данных Symbol

    4. Методы объекта, "this"

    5. Преобразование объектов в примитивы

    6. Конструкторы, создание объектов через "new"

  5. Типы данных

    Содержит 12 статей:

    1. Методы у примитивов

    2. Числа

    3. Строки

    4. Массивы

    5. Методы массивов

    6. Итерируемые объекты

    7. Map и Set

    8. WeakMap и WeakSet

    9. Object.keys, values, entries

    10. Деструктурирующее присваивание

    11. Дата и время

    12. Формат JSON, метод toJSON

  6. Продвинутая работа с функциями

    Содержит 11 статей:

    1. Рекурсия и стек

    2. Остаточные параметры и оператор расширения

    3. Замыкание

    4. Устаревшее ключевое слово "var"

    5. Глобальный объект

    6. Объект функции, NFE

    7. Синтаксис "new Function"

    8. Планирование: setTimeout and setInterval

    9. Декораторы и переадресация вызова, сall/apply

    10. Привязка контекста к функции

    11. Повторяем стрелочные функции

  7. Свойства объекта, их конфигурация

    Содержит 2 статьи:

    1. Флаги и дескрипторы свойств

    2. Свойства - геттеры и сеттеры

  8. Прототипы, наследование

    Содержит 4 статьи:

    1. Прототипное наследование

    2. F.prototype

    3. Встроенные прототипы

    4. Методы прототипов, объекты без свойства __proto__

  9. Классы

    Содержит 7 статей:

    1. Класс: базовый синтаксис

    2. Наследование классов

    3. Статические свойства и методы

    4. Приватные и защищённые методы и свойства

    5. Расширение встроенных классов

    6. Проверка класса: "instanceof"

    7. Примеси

  10. Обработка ошибок

    Содержит 2 статьи:

    1. Обработка ошибок, "try..catch"

    2. Пользовательские ошибки, расширение Error

  11. Промисы, async/await

    Содержит 8 статей:

    1. Введение: колбэки

    2. Промисы

    3. Цепочка промисов

    4. Промисы: обработка ошибок

    5. Promise API

    6. Промисификация

    7. Микрозадачи

    8. Async / await

  12. Генераторы, продвинутая итерация

    Содержит 2 статьи:

    1. Генераторы

    2. Асинхронные итераторы и генераторы

  • 935
  • 20 agosto 2019, 17:42

Diario del objetivo

Comentarios

Никита08/10/2020

Как идут дела?

ParamBoom16/07/2020

Как идут дела?

ParamBoom04/04/2020

Как идут дела?

Tank05/12/2019

Как идут дела?

Олег09/10/2019

Елена, добрый день! Как у вас идут успехи в изучении JavaScript? Получается? : )

10día
Елена Каликина29 ago. 2019, 18:24

Пункт 2. Сборка мусора

  • Сборка мусора выполняется автоматически.
  • Объекты сохраняются в памяти, пока они достижимы.
  • Наличие ссылки не гарантирует, что объект достижим (от корня): несколько взаимосвязанных объектов могут стать недостижимыми как единое целое.

Пункт 3. Тип данных Symbol

В качестве ключей для свойств объекта могут использоваться только строки или символы. «Символ» представляет собой уникальный идентификатор. Создается с помощью функции Symbol(). Символ (symbol) – примитивный тип данных, использующийся для создания уникальных идентификаторов. Символы не преобразуются в строки автоматически.

Свойства, чьи ключи – символы, не перебираются циклом for … in

Даже если символы имеют одно и то же имя, это – разные символы. Для создания одинаковых символов нужно использовать глобальный реестр: вызов Symbol.for(key), который создаёт глобальный символ с key в качестве имени.

Пункт 4. Методы объекта, “this”

Функцию, которая является свойством объекта, называют методом этого объекта. Для выполнения действий методу объекта необходим доступ к информации, которая хранится в объекте. Для доступа к информации внутри объекта метод может использовать ключевое слово this

  • Методы позволяют объектам «действовать»: object.doSomething()
  • Методы могут ссылаться на объект через this
  • Значение this определяется во время исполнения кода.
  • Когда функция вызывается синтаксисом «метода» – object.method() значением thisво время вызова является объект перед точкой.
  • стрелочные функции являются особенными – у них нет this
9día
Елена Каликина28 ago. 2019, 08:48

Пункт 5. Автоматическое тестирование с использованием фреймворка Mocha

Автоматическое тестирование техникой Behavior Driven Development (BDD)

В BDD сначала пишут спецификацию, а потом реализацию. Спецификация используется тремя способами:

  • 1.Тесты – показывают, что функции работают правильно
  • 2.Документация – describe и it нужны для описания поведения функции
  • 3.Примеры – тесты, которые являются готовыми примерами использования функции.

Код, хорошо покрытый тестами, имеет лучшую архитектуру.

Пункт 6. Полифилы

Babel – это транспилер, он переписывает современный JS-код в предыдущий стандарт

Чтобы современные функции поддерживались в старых движках требуется транспилер (Babel) и полифил:

core js поддерживает много функций

polyfill.io – сервис, который автоматически создаёт скрипт с полифилом в зависимости от необходимых функций и браузера пользователя

Глава 4. Объекты: основы

Пункт 1. Объекты

Объект создаётся с помощью фигурных скобок { … } с необязательным списком свойств: « ключ: значение »

При присваивании к переменной объект созданный с помощью только скобок – называется литерал объекта, а с помощью слова Object() – конструктор объекта

Для обращения к свойству используется запись типа: ( alert(название объекта.название свойства объекта/или ключ); ).

Для удаления ключа из объекта используется оператор delete

Если название ключа состоит из нескольких слов, то оно должно быть помещано в кавычки

Последнее свойство объекта может заканчиваться запятой – это упростит добавление новых свойств в будущем

Доступ к ключу состоящему из нескольких слов осуществляется с помощью квадратных скобок [ ], Также скобки помогут при использовании переменной, которая появилась в результате выражения

Для проверки существования свойства в объекте используется конструкция: «key» in object

Цикл for .. in используется для просмотра всех свойств объекта:

1.For (название переменной, в которой находится объект key in object) { alert (key); } – выведутся названия свойств / ключи

2.Alert ( object [ key]) – выведутся значения ключей

Объекты присваиваются и копируются по ссылке. В новой переменной будет храниться ссылка на существующий объект. Все операции с использованием скопированных ссылок выполняются с одним и тем же объектом.

Чтобы сделать клон используется Object.assign / _.cloneDeep(obj)

В JS есть и другие типы объектов, кроме Object (plain object – простой объект):

  • Array для хранения упорядоченных коллекций данных
  • Date для хранения информации о дате и времени
  • Error для хранения информации об ошибке и т.д.
8día
Елена Каликина27 ago. 2019, 10:11

Пункт 2. Советы по стилю кода

  • Обратные кавычки позволяют разделять строку на части (string)
  • Не более 9 строк кода подряд по вертикали
  • Стиль написания напоминает стиль написания css-кода
  • Для лучшего написания можно использовать плагин ESLint

Пункт 3. Комментарии

« // » - однострочные комментарии / « /* … */ » - многострочные комментарии

В комментариях можно указывать почему вы решили задачу именно этим образом.

Пункт 4. Ниндзя-код

  • Писать понятный код
  • Названия переменных должны говорить за себя
  • В счетчике числа используются всегда однобуквенные переменные: i, j, k
  • Имена переменных должны быть уникальны
  • Не использовать кириллицу
7día
Елена Каликина26 ago. 2019, 16:42

Пункт 15. Function Expression и функции-стрелки

Функциональное выражение создается путем присваивания к переменной. Функция это значение, вывод функции без круглых скобок просто выводит значение этой функции, а со скобками вызывает эту функцию. Функцию – переменную можно использовать в любом месте кода.

При копировании значения функции в новую переменную без скобок записывается сама функция, а если со скобками, то результат ее вызова.

«;» не нужно ставить в конце блока кода и синтаксических конструкций ( if {…}, for {…}, function а {…} и т.д.) Функциональное выражение начинается с присваивания переменной функции, поэтому «;» обязательна.

Функции – «колбэки»

Название функции (вопрос, функция – при одном ответе пользователя, функция – при другом ответе пользователя) – функция с тремя параметрами. Такого рода функция в браузере используется для отображения диалоговых окон.

Аргументы функции называются «call back» - обратный вызов

Функции – стрелки

let func = (arg1, arg2, … argN) => expression

Пункт 16. Особенности JavaScript

  • Всегда помнить про «;»
  • Скрипт начинать с `usestrict’
  • Три способа объявления переменных:
  • 1.let
  • 2.const
  • 3.var
  • простейшие функции для взаимодействия с пользователем:
  • 1.prompt (question, [default]) – возвращается либо что ввел посетитель / либо null
  • 2.confirm (question) – ответ «ок» / «отмена», возвращает true / false
  • 3.alert (message) – выводит сообщение
  • Виды операторов:
  • 1.Арифметические ( « * », « + », « - », « / », « % », « ** »)
  • 2.Оператор присваивания « = »
  • 3.Битовый операции
  • 4.Условный оператор « ? » (параметр ? resultA : resultB – если параметр true, то возвращается resultA, иначе resultB)
  • 5.Логические операторы « && И », « || ИЛИ » « ! НЕТ »
  • 6.Проверка на равенство
  • oНестрогое равенство « == » значения разных типов конвертируется в число, кроме null и undefiend (равны только самим себе)
  • oСтрогое равенство « === » не выполняет конвертацию.
  • o Операторы сравнения « > » / « < » сравнивают строки посимвольно
  • 7.Оператор « , »
  • Циклы
  • 1.While (условие) { … }
  • 2.Do { … } while (условие);
  • 3.For (переменная; условие для переменной; счетчик) { … }
  • a.Переменная объявленная в цикле for видна только внутри него
  • b.Break / continue – позволяют выйти из цикла / текущей итерации
  • Конструкция switch заменяет несколько проверок if. При сравнении использует строгое равенство « === »
  • Функции:
  • 1.Function declaration – функция в основном потоке кода
  • 2.Function expression – функция как часть выражения
  • 3.Стрелочные функции
  • Локальные функции видны только внутри функции
  • могут быть значения по умолчанию
  • Функции всегда что-то возвращают, без оператора return – результатом будет undefiend

Глава 3. Качество кода

Пункт 1. Отладка в браузере Chrome

Отладка – поиск и исправление ошибок в скрипте

6día
Елена Каликина25 ago. 2019, 18:59

Пункт 12. Циклы while и for

  • While (условие) { Тело цикла } Выполняется до итерации пока условие истинно
  • Do…….while { тело цикла} помещается до условий, выполняется после итерации
  • For (начало; условие; шаг) { тело цикла } Выполняется до итерации пока условие не ложно
  • Прерывание цикла break
  • Переход к следующей итерации continue
  • Метки для break / continue (название метки: перед циклом – внутри цикла break название метки)

Пункт 13. Конструкция «switch»

Эта конструкция заменяет собой сразу несколько «if». Состоит из одного или нескольких блоков «case» и необязательного блока «default». Условие-переменная строго сверяется с каждым case по очереди, если совпадения есть, то выполняется код до конца switch или до близжайшего break, если ни один case не совпал, то выполняется default, если предусмотрен. Значения должны быть одного типа.

Пункт 14. Функции

Создание функции происходит с помощью «function». После объявления функции вводится её имя, потом список параметров в круглых скобках через запятую, а в фигурных скобках тело функции

Функции могут использовать глобальные переменные, объявленные снаружи функции. Эти переменные видны для любой функции, если только их не перекрывает одноименная локальная переменная

Параметры – это аргументы функции

Выбор имени функции:

  • «show» - функция что-то показывает
  • «get» - возвращает значение
  • «calc» - что-то вычисляет
  • «create» - что-то создает
  • «check» - что-то проверяет и возвращает логическое значение

Puede publicar
su objetivo aquí

Podemos ayudarle a lograrlo!

310 000

ideas afines

instrumentos

para un logro emocionante

Únete a nosotros
Registración

Las posibilidades
están ilimitadas.
Es la hora
de descubrir las suyas

Уже зарегистрированы?
Entrada al sitio

Entre.
Está abierto.

¿Aún no está registrado?
 
Conéctese a cualquiera de sus cuentas, sus datos se tomarán de la cuenta.
¿Ha olvidado la contraseña?
Fedor
Kristina
Олег
MeM
Олег
Олег
Олег
Олег