Огромный видеокурс по основам JavaScript от freeCodeCamp

0
8925
js-basics

Недавно на YouTube появился полный курс по JavaScript от преподавателя freeCodeCamp. В данной статье представлена подборка видео и краткими комментариями по каждому уроку.



Самое замечательное в этом курсе то, что он идет параллельно с программой Basic JavaScript Challenges. Вы можете оттачивать знания, полученные из видеолекций, на практических задачах из freeCodeCamp challenges. Также курс охватывает несколько тем, не вошедших в программу Basic JavaScript.
Эти видео созданы таким образом, чтобы быстро осветить ключевые моменты каждой темы. Также автор старался сделать их как можно более независимыми друг от друга. Каждое видео может играть роль отдельного урока, если вы хотите получить информацию по конкретной теме.
Кроме курса углубленного JavaScript, Карнс также является автором курсов по ES6, «чистому коду», структурам данных и паттернам проектирования. Ниже приведены ссылки на видео и их описания для того, чтобы вы могли быстро найти видеоурок по нужной теме.

Основы JavaScript (полный курс)

Весь плейлист см. здесь.

Переменные

Переменные — это контейнеры для хранения значений. Урок также охватывает тему соглашений по поводу именования переменных.

Типы данных

В JavaScript существует семь типов данных: логический, null, неопределенный, число, строка, символ и объект.

Числа

Работа с числовым типом данных: арифметические действия, инкремент/декремент и сокращенные операторы присваивания.

Строки 

Строки — это наборы символов. Урок рассказывает о тонкостях использования строкового типа данных.

Строки [скобочная индексация]

Скобочная индексация позволяет получать непосредственный доступ к любому символу строки.

20 методов String за 7 минут

Методы String, рассматриваемые в этом видео: charAt, charCodeAt, concat, endsWith, fromCharCode, includes, indexOf, lastIndexOf, match, repeat, replace, search, slice, split, startsWith, substr, substring, toLowerCase, toUpperCase, trim.

Функции

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

«Поднятие»

Поднятие переменных или функций — перемещение их интерпретатором в начало области видимости.

Операторы сравнения и конструкция if-else

Операторы >, <, >= и <=. Использование конструкции if-else для запуска блока кода в том случае, если проверочное условие истинное.

== vs ===

Различия между абстрактным и строгим сравнением.

null vs undefined

Название говорит само за себя:видео о различиях типов null и undefined.

Логические операторы и короткий цикл вычислений

Логическими операторами в JS являются and (&&) и or (||). Помимо выполнения своих основных функций, они позволяют экономить ресурсы, используя так называемый «короткий цикл вычислений».

Тернарный оператор

Тернарный оператор (ли оператор состояния) принимает три аргумента и представляет собой сокращенную форму записи конструкции if-else.

Оператор switch

Альтернатива if-else в случае большого количества проверяемых условий.

Массивы

Массивы позволяют хранить в одной переменной несколько значений одного типа. Урок также охватывает многомерные массивы и метод forEach.

Основные методы работы с массивами

Вы научитесь использовать десять методов работы с массивами: push, pop, concat, join, reverse, shift, unshift, sort, slice, и splice.

Копирование массивов (глубокое и поверхностное)

«Поверхностное» копирование осуществляется с помощью операторов slice и spread. «Глубокое» копирование производится через JSON.stringify.

Случайные числа и parseInt

Генерация случайных чисел и использование parseInt для преобразования строки в число.

Циклы for

Цикл for — один из самых часто используемых циклов в JS.

while / do while

Еще два популярных цикла в JavaScript.

for in / for of

Циклы for … in и for … of позволяют работать с именами и значениями свойств объектов.

8 методов итерации в массивах

Восемь методов прохода по массиву в JavaScript: forEach, map, filter, reduce, sum, every, find, findIndex.

Объекты

Объекты — самостоятельные элементы, обладающие свойствами и типами.

Объекты: часть 2

Узнайте об объектах больше. Это видео рассказывает об использовании объектов для поиска, удалении свойств методом delete, проверке свойств, доступе к вложенным свойствам и их изменении, а также создании массива с ключами объектов.

AJAX

Технология асинхронных запросов позволяет динамически изменять содержимое страницы без перезагрузки.

JSON

Аббревиатура расшифровывается как JavaScript Object Notation. Это удобный синтаксис для хранения и обмена информацией.

this

Ключевое слово this ссылается на объект, который «владеет» JS-кодом.

Замыкания

Замыкание — это комбинация функции и лексического окружения, где она была объявлена.

Промисы

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

Уведомления

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

см. также:

ES6

Clean Code

Этот видеокурс посвящен правилам написания кода на JavaScript и основан на статье Райана МакДермотта, которая, в свою очередь, базируется на одноименной книге Роберта Мартина. Чистый код — это код читаемый, поддающийся рефакторингу и предоставляющий возможность повторного использования.

Структуры данных и алгоритмы

Паттерны проектирования

Основы React

React.js создан для того, чтобы сделать процесс создания удобных и универсальных элементов пользовательского интерфейса простым и интуитивным. Курс рассматривает основные компоненты React: VirtualDOM, JSX, state (состояние) и props (свойства).Вы увидите, как все эти элементы используются вместе на примере простого веб-приложения.