бесплатное обучение онлайн, 39 уроков
Включено в курс
39 уроков (видео и/или текст)
47 упражнений в тренажере
133 проверочных теста
Дополнительные материалы
Помощь в «Обсуждениях»
Чему вы научитесь
- Создавать программы, используя основные конструкции языка (условия, циклы, функции и другие)
- Составлять программы, состоящие из нескольких модулей
- Правильно анализировать ошибки в коде и пользоваться отладочной печатью при их поиске
Описание
В курсе рассматриваются основы языка JavaScript, а также необходимые понятия для программирования на нем. Такие как работа с ошибками, отладка, импорт модулей.
модули импорты отладка программы ошибки
Уроки курса
Продолжительность 50 часов
Введение
Познакомиться с курсом
теория
Hello, World!
Написать первую программу
теория
тесты
упражнение
Инструкции
Изучить азы построения программ на JavaScript
теория
тесты
упражнение
Арифметические операции
Переведем арифметические действия на язык программирования
теория
тесты
упражнение
Ошибки оформления (синтаксиса и линтера)
Изучить виды ошибок и способы их решения
теория
тесты
упражнение
Строки
Научиться работать со строками
теория
тесты
упражнение
Переменные
Научиться хранить информацию и переиспользовать уже существующие данные
теория
тесты
упражнение
Выражения в определениях
Научиться упрощать код, используем переменные
теория
тесты
упражнение
Именование
Научимся правильно именовать переменные
теория
тесты
упражнение
Интерполяция
Изучить еще один способ работать со строками в JavaScript
теория
тесты
упражнение
Извлечение символов из строки
Научиться получать значения из строк
теория
тесты
упражнение
Типы данных
Умножим число на строку, познакомимся с типами данных
теория
тесты
упражнение
Неизменяемость и примитивные типы
Узнаем, может ли JavaScript преобразовывать строки или числа
теория
тесты
упражнение
Функции и их вызов
Научиться использовать готовые функции
теория
тесты
упражнение
Сигнатура функции
Узнать, как функция принимает и возвращает значения
теория
тесты
упражнение
Вызов функции — выражение
Научиться использовать результат работы функций
теория
тесты
упражнение
Функции с переменным числом параметров
Познакомиться с расширенными возможностями функций
теория
тесты
упражнение
Детерминированность
Изучить некоторые свойства функций и особенности их работы
теория
тесты
упражнение
Стандартная библиотека
Познакомимся со стандартной библиотекой
теория
тесты
упражнение
Свойства и методы
Научиться использовать встроенные в JavaScript атрибуты данных.
теория
тесты
упражнение
Цепочка вызовов
Научиться выстраивать методы в цепочки
теория
тесты
упражнение
Определение функций
Научиться создавать функции
теория
тесты
упражнение
Возврат значений
Научиться использовать результат работы функции
теория
тесты
упражнение
Параметры функций
Научиться передавать данные в функцию
теория
тесты
упражнение
Необязательные параметры функций
Задаём значения по умолчанию
теория
тесты
упражнение
Упрощенный синтаксис функций
Научиться писать лаконичный код
теория
тесты
упражнение
Логика
Изучить, что такое логический тип и как применять логические операции
теория
тесты
упражнение
Логические операторы
Учимся писать составные условия
теория
тесты
упражнение
Результат логических операций
Глубже про логические операции
теория
тесты
упражнение
Условные конструкции
Научиться задавать поведение программы в зависимости от разных условий
теория
тесты
упражнение
Тернарный оператор
Научиться писать лаконичный код для условий
теория
тесты
упражнение
Конструкция Switch
Изучить специальную версию if для множественных условий
теория
тесты
упражнение
Цикл while
Научиться писать программы для выполнения повторяющихся действий
теория
тесты
упражнение
Агрегация данных
Познакомиться с отдельным классом задач, где применяются циклы
теория
тесты
упражнение
Обход строк в цикле
Научиться обрабатывать и собирать строки в цикле
теория
тесты
упражнение
Условия внутри тела цикла
Научиться управлять поведением программы в цикле
теория
тесты
упражнение
Инкремент и декремент
Познакомиться с унарными операциями
теория
тесты
упражнение
Цикл for
Изучим еще один цикл в JavaScript
теория
тесты
упражнение
Модули
Знакомимся с модулями — способом разделения программ на составные части и переиспользования частей.
теория
тесты
упражнение
Формат обучения
Испытания
Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. Обычно мы рекомендуем выполнить 3-5 испытаний. Но если не получается, не отчаивайтесь. Просто вернитесь к ним позже
Все
Алсу09 августа 2022
Спасибо! Прошла последний урок в курсе. Я в целом прохожу все медленно, и пока я проходила массивы, предыдущий курс по введению в программированию был заменен на данный курс. Такое ощущение, будто замечания по старому курсу действительно учли в этом новом, некоторые темы объясняются более удобно и последовательно, как раз там, где этого не хватало (на мой взгляд). Но здесь не было рекурсии. Видимо, ее включили в другие курсы?
Рекомендуемые программы
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.
Профессия
Фронтенд-разработчик
Разработка фронтенд-компонентов для веб-приложений
20 октября 10 месяцев
Профессия
Node.js-разработчик
Разработка бэкенд-компонентов для веб-приложений
20 октября 10 месяцев
Профессия
Fullstack-разработчик
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
20 октября 16 месяцев
JavaScript — Прототипно-ориентированный язык программирования / Хабр
Статьи Авторы Компании
Сначала показывать
Порог рейтинга
Mstikh 000Z» title=»2022-10-17, 17:48″>
JavaScript *PostgreSQL *C++ *DevOps *VueJS *
Почти три года назад мы запустили сервис для управления проектами, но без ошибок не обошлось. Делюсь опытом, чтобы на наши грабли больше никто не наступил.
Читать далее
Всего голосов 8: ↑5 и ↓3 +2
Просмотры1.5K
Комментарии 10
ganqqwerty
PHP *JavaScript *Программирование *Java *Регулярные выражения *
Tutorial
Хороший код читается легко, как проза. Многие книги учат нас тому, как важно делить код на небольшие, повторно используемые, легко потребляемые блоки.
Но почему-то, в случае с регэкспами у программистов как будто появляется слепое пятно на чувстве стиля. Вот такая регулярка – совершенно обычное дело:
/^(0[1-9]|1[012])[- /. ](0[1-9]|[12][0-9]|3[01])[- /.]((19|20)\d\d)$/
А чо не так-то?
Всего голосов 18: ↑11 и ↓7 +4
Просмотры2.7K
Комментарии 43
TourmalineCore
Тестирование IT-систем *JavaScript *Криптовалюты
Из песочницы
Тестирование приложений через сквозные (end-to-end) тесты сейчас довольно популярно. Этот вид тестирования позволяет оценить работоспособность приложения со стороны пользователя. Поэтому компания, в которой я работаю, внедряет этот вид тестирования в проекты.
Летом 2022 года мы разрабатывали блокчейн приложение. Моя задача заключалась в проведении E2E тестирования DApp [Децентрализованное приложение — приложение, которое базируется на технологии блокчейн совместно с механизмом распределенного выполнения необходимых инструкций]. Но мы столкнулись с проблемой — готовых решений для проведения end-to-end тестирования DApp под нашу конкретную задачу не было. Эта статья о том, как мы решали эту проблему.
Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры792
Комментарии 0
savvaleukhin
JavaScript *ReactJS *
Из песочницы
Создадим приложение с использованием фреймворка Next.js, настроим облачные сервисы Amazon S3, Amazon CloudFront, AWS Lambda@Edge, развернем приложение и настроим маршрутизацию доменного имени.
Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры1.8K
Комментарии 1
aio350 000Z» title=»2022-10-13, 15:34″>13 октября в 15:34
Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *ReactJS *
Перевод
Привет, друзья!
Представляю вашему вниманию перевод этой статьи, вызывавшей определенный резонанс в сообществе React-разработчиков
.
Дорогой React, мы встречаемся уже почти 10 лет. Мы прошли долгий путь вместе. Но ситуация вышла из-под контроля. Нам нужно поговорить.
Читать дальше →
Всего голосов 37: ↑35 и ↓2 +33
Просмотры11K
Комментарии 27
Yorick
JavaScript *Node.JS *Биллинговые системы *
Если вы делаете финансовый проект или проект в сфере крипты, в котором сохраняются финансовые данные, вам понадобится модуль, который будет отвечать за правильную работу с финансовыми данными.
Правильное решение — это со старта внедрять бухгалтерию с двойной записью (double ledger).
Людям, не знакомым с принципами бухгалтерии, кажется, что бухгалтерия это сложно. На самом деле это не так, и я покажу вам, почему.
Читать далее
Всего голосов 10: ↑8 и ↓2 +6
Просмотры1.8K
Комментарии 2
melkor_morgoth
Блог компании Норд Клан JavaScript *
Есть MVC-приложение на frontend, которое активно расширяется: создаются новые модели, представления и контроллеры.
Со временем такое приложение начинает напоминать лабиринт из моделей, а баги, живущие в этом лабиринте превращаются в настоящих минотавров. Но все не так плохо, похоже есть нить, которая ведет из этого лабиринта…
Выбраться из лабиринта
Всего голосов 7: ↑4 и ↓3 +1
Просмотры1. 2K
Комментарии 10
anador
Разработка веб-сайтов *JavaScript *Расширения для браузеров
Всем привет! Сталкивались ли вы с ситуацией, когда в вашей админке пользователям трудно интуитивно разобраться, возможности быстро исправить это нет, а существующую документацию по ней никто не читает? Знакомы ли вам частые вопросы вида «А как это настроить?» или «А можно ли сделать настройками X?», ответы на которые уже описаны?
С подобным столкнулся я, и подумал, а что легко и быстро можно попробовать в качестве эксперимента. В статье расскажу вариант решения, как все это сделать без доработок самого продукта, что у меня в итоге вышло (и что не вышло), какие ошибки допустил и как можно сделать лучше.
Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры1. 4K
Комментарии 0
amorev
JavaScript *Управление проектами *Управление продуктом *Лайфхаки для гиков
Реализация автоматического импорта событий из календаря Notion в свой Google Calendar. Также, под катом, ссылка на npm пакет, упрощающий данную процедуру и пример запуска данного решения без аренды своего сервера.
Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры1.1K
Комментарии 2
upronin
JavaScript *HTML *Maps API *Визуализация данных *DIY или Сделай сам
Идея создать проект «По местам съёмок фильма «Брат» пришла спонтанно, когда я собирался в поездку в Санкт-Петербург. Подумал о том, что я могу объединить профессиональные знания в картографии и своё почтительное отношение к фильму, тем более, что совсем недавно было 25 лет со дня выпуска фильма. Стандартные туристические маршруты надоели. Мне не нравится гулять там, где ходят толпы туристов, делая одни и те же фотографии.
Первый этап — это понимание того, где конкретно снят тот или иной фрагмент. Информацию искал в интернете, но многие точки были описаны очень неконкретно. Двор на такой-то улице или Морская набережная, 15Б, а по факту этот дом на 29 подъездов. Приходилось на месте искать точки съемки и делать фото, потом уточнять точки в геоинформационной программе на карте QGIS.
Читать далее
Всего голосов 93: ↑84 и ↓9 +75
Просмотры10K
Комментарии 8
Bright_Translate
Блог компании RUVDS. com JavaScript *Периферия Физика DIY или Сделай сам
Перевод
Tutorial
Небольшой и доступный проект по сборке лазерного сканирующего микроскопа на основе двух оптических головок и многофункционального инструмента “Analog Discovery”. Одно из преимуществ такого микроскопа в возможности выравнивания лазерного пятна относительно изучаемого образца с точностью до микрометра.
Читать дальше →
Всего голосов 71: ↑66 и ↓5 +61
Просмотры16K
Комментарии 29
alikinSV
JavaScript *Программирование *
Из песочницы
В голове почти любого человека начиная с 2018-2019 года появляются мысли о том, чтобы поменять профессию на что-то около IT. Эти мысли сразу разбиваются о скалы нескольких больших мифов.
Читать далее
Всего голосов 46: ↑24 и ↓22 +2
Просмотры34K
Комментарии 129
dunai12
Блог компании Альфа-Банк JavaScript *Программирование *Проектирование и рефакторинг *ReactJS *
Tutorial
Я люблю сталкиваться с трудностями. Но с такими, которые можно решить, подумать над интересным решением, подобрать технологию. Люблю быть в потоке, а после решения чувствую себя настоящим профессионалом.
Но есть кое-что, из-за чего я не люблю программировать. Как ни странно, это тоже трудности, только другого рода. Например, когда, чтобы пофиксить баг, приходится разбираться с легаси-компонентом, который написан на классах на 300 строк кода. Разбираясь уже второй час, ловлю себя на мысли, что уже 10 минут просто смотрю в экран, а в голове «из-за угла» выглядывает мысль «Псс, парень, программирование — это не твое». Такие задачи не вызывают удовлетворения.
В этой статье я поделюсь подходом, который поможет уменьшить большие и страшные React-компоненты. Если у вас есть компоненты с кучей условий, которые сложно читать, ревьюить и понимать, что там происходит, то эта статья для вас.
Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Просмотры2.8K
Комментарии 4
aio350
Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *
Перевод
Привет, друзья!
Представляю вашему вниманию перевод этой замечательной статьи, посвященной 4 малоизвестным API
, которые в некоторых ситуациях могут оказаться весьма полезными:
- Page Visibility API;
- Web Share API;
- Broadcast Channel API;
- Internationalization API.
Код примеров на GitHub.
Читать дальше →
Всего голосов 41: ↑41 и ↓0 +41
Просмотры6.6K
Комментарии 0
Kilor
Блог компании Тензор Высокая производительность *JavaScript *Программирование *Node.JS *
Tutorial
В предыдущей части мы научились эффективно передавать данные вспомогательным потокам из основного через разделяемую память, используя Atomics
-операции и блокировки.
Но мы рассматривали все-таки идеальную ситуацию, когда основной поток больше ничем не занимался, кроме обмена с «подчиненными» уже заранее готовыми данными. В реальных же приложениях такое встречается достаточно редко — обычно эти самые данные приходится готовить непосредственно перед передачей. И, бывает, в этом участвует существенная доля синхронного кода, что для JavaScript крайне неприятно, но иногда неизбежно — например, при вычислении регулярных выражений.
Давайте оценим, насколько синхронные операции «роняют» производительность нашего тестового приложения. И узнаем, как можно в разы улучшить ее, «скрестив ужа с ежом», используя
Читать далее
Всего голосов 15: ↑13 и ↓2 +11
Просмотры1.9K
Комментарии 12
qmzik
CSS *JavaScript *HTML *
Перевод
Браузеры постоянно добавляют новые функции HTML, JavaScript и CSS. Вот несколько полезных дополнений к работе с формами, которые вы могли пропустить…
Читать далее
Всего голосов 20: ↑18 и ↓2 +16
Просмотры11K
Комментарии 11
andrejsharapov 000Z» title=»2022-10-03, 00:53″>3 октября в 00:53
Веб-дизайн *CSS *JavaScript *GitHub *VueJS *
Из песочницы
В современном дизайне, почти на каждом сайте и в приложениях можно увидеть тени, которые дизайнеры и разработчики применяют для создания эффекта глубины и объема…
Читать далее
Всего голосов 11: ↑9 и ↓2 +7
Просмотры2.9K
Комментарии 10
OldNileCrocodile
JavaScript *Программирование *Алгоритмы *
Tutorial
На сегодняшний день существуют большое количество JS-фреймворков, библиотек и тому прочее. Казалось бы, выбираешь крупный и надёжный фреймворк, и пишешь свой интерфейс. Но, во-первых, у разных фреймворков различный подход к написанию кода. Каждый предлагает свой синтаксис и свои фичи, по решению различных частных задач, наподобие создания элементов по шаблону, внедрение хуков, ссылок, данных. Во-вторых, у каждого есть свои зависимости. И размер всех зависимостей порой доходит аж до гигабайтов. В итоге, появляется желание написать свой, очередной, лучший фреймворк.
В данной статье перечислены начальные шаги, и проблемы, с которыми Я столкнулся, когда решил написать для себя очередной, универсальный инструмент, для создания интерфейса веб-приложения.
Начать реализацию.
Всего голосов 17: ↑9 и ↓8 +1
Просмотры3.8K
Комментарии 14
frimuchkov
Разработка веб-сайтов *JavaScript *Программирование *Node.JS *Визуализация данных *
Всем привет. Меня зовут Андрей, я работаю в компании SegmentStream, занимаюсь вопросами архитектуры, инфраструктуры и написанием кода. Сегодня я расскажу как мы адаптировали Cube под наши нужды. В рамках статьи я не буду подробно рассказывать про сам Cube, если вы не знакомы с Cube, то лучше сначала немного почитать про него на официальном сайте cube.dev/docs. Если говорить про SegmentStream, то мы разрабатываем SaaS-платформу для оптимизации рекламных кампаний на основе машинного обучения. Звучит просто, но я рекомендую почитать, там много интересных вещей.
Также, в статье будет достаточное количество кода на TypeScript, который можно при желании не стесняться заимствовать. Я постараюсь оставлять объяснения к нему.
Читать далее
Рейтинг 0
Просмотры190
Комментарии 0
vileven
Блог компании VK JavaScript *Разработка под MacOS *Разработка под Linux *Разработка под Windows *
Если у вас есть компьютер и вы используете его по назначению, то скорее всего вы так или иначе работали с приложениями на Electron (даже если об этом не знали).
Меня зовут Сергей Володин, я руковожу командой разработки VK WorkMail. В этой статье я расскажу, как на основе Electron мы за две недели создали PoC кроссплатформенного настольного приложения Почты, что узнали о технологии и к каким выводам пришли.
Читать далее
Всего голосов 34: ↑30 и ↓4 +26
Просмотры4.8K
Комментарии 31
JavaScript — Дока
Статьи раздела «JavaScript» по темам
Основы
- Порядок выполнения
- Переменные
const
,let
иvar
-
const
-
if
…else
-
switch
- Цикл
-
while
-
for
- Выражения и инструкции
- Хранение по ссылке и по значению
- Функция
- Области видимости
-
use strict
Продвинутый синтаксис
- Тернарный оператор
- Спред-синтаксис
.
. . -
for
…in
- Поверхностное и глубокое копирование
- Итератор
-
Date
Примитивные типы данных
- Число
- Строка
- Булев тип
-
undefined
-
null
- Большое целое
- Символ
- Преобразование типов
Коллекции
- Объект
- Массив
- Функция как тип данных
-
Set
-
Map
Числа
- Число
-
parse
Int ( ) -
parse
Float ( ) - Обёртка
Number
-
.to
String ( ) -
Number
. isNa N ( ) -
Number
. is Finite ( )
Строки
- Строка
- Обёртка
String
- Шаблонные строки
-
.index
Of ( ) -
.includes
( ) -
.length
Булев тип
- Булев тип
- Логические операторы
- Преобразование типов
Функции
- Функция
-
return
-
this
: контекст выполнения функций - Области видимости
- Рекурсия
- Объект
arguments
Массивы
- Массив
-
.for
Each ( ) -
. map
( ) -
.reduce
( ) -
.filter
( ) -
.find
( ) -
.find
Index ( ) -
.flat
( ) -
.flat
Map ( ) -
.every
( ) -
.some
( ) -
.reverse
( ) -
.includes
( ) -
.index
Of ( ) -
.length
-
Array
. from ( ) -
Array
. is Array ( )
Объекты
- Объект
-
.to
String ( ) - Дескрипторы
- Почти всё в JavaScript — объект
Множества (
Set
)-
Set
- Конструктор
-
.add
( ) -
.delete
( ) -
.has
( ) -
.for
Each ( ) -
.clear
( ) -
.values
( ) -
.keys
( ) -
.entries
( ) -
. size
Обработка исключений
-
try
…catch
-
Error
и стандартные ошибки
Math
- Объект
Math
-
Math
,. floor ( ) Math
,. round ( ) Math
и. ceil ( ) Math
. trunc ( ) -
Math
. random ( )
Браузерное окружение и API
- Браузерное окружение, BOM
- DOM
-
fetch
( ) -
Form
Data -
console
. log ( ) -
window
. history -
window
. location -
window
. navigator - Geolocation API
-
window
. match Media -
URL
Search Params -
local
Storage -
session
Storage -
performance
-
alert
( ) -
prompt
( ) -
confirm
( ) -
queue
Microtask ( ) -
set
Timeout ( ) -
clear
Timeout ( ) -
set
Interval ( ) -
clear
Interval ( ) -
window
. print ( ) -
Intersection Observer
О браузере
- Как браузер рисует страницы
- Координаты
- Хранение данных в браузере
Объектная модель документа DOM
- DOM
-
Element
- Событийная модель
-
HTML
иCollection Node
List
Объект страницы (
document
)-
.add
Event Listener ( ) -
.remove
Event Listener ( ) -
.get
Element By Id ( ) -
.get
Elements By Class Name ( ) -
. get
Elements By Tag Name ( ) -
.query
Selector ( ) -
.query
Selector All ( ) -
.forms
-
.cookie
Элемент на странице (
Element
)-
Element
-
.add
Event Listener ( ) -
.remove
Event Listener ( ) -
.get
Elements By Class Name ( ) -
.get
Elements By Tag Name ( ) -
.query
Selector ( ) -
. query
Selector All ( ) -
.get
Attribute ( ) -
.focus
( ) -
.blur
( ) -
.scroll
By ( ) -
.scroll
Into View ( ) -
.scroll
To ( ) -
.class
List -
.dataset
-
.style
-
.inner
H T M L -
.outer
H T M L -
.inner
Text -
.text
Content -
. hidden
События
- Событийная модель
- Объект события
Event
-
.prevent
Default ( ) -
click
-
submit
-
DOM
Content Loaded -
load
-
unload
-
beforeunload
-
keydown
-
keyup
-
mouseout
-
mouseover
-
scroll
-
wheel
-
touch
Хранение данных в браузере
- Хранение данных в браузере
-
.cookie
-
local
Storage -
session
Storage
Асинхронный код
- Асинхронность в JS
-
Promise
-
. then
( ) -
.catch
( ) -
.finally
( ) -
Promise
. all ( ) -
Promise
. all Settled ( ) -
Promise
. any ( ) -
Promise
. race ( ) -
async
/ await
Обмен данными с API
- Что такое API
-
fetch
( ) -
async
/ await
Парадигмы программирования
- Парадигмы программирования
- Объектно-ориентированное программирование
- Функциональное программирование
Веб-приложение
- Виды веб-приложений
- Как работают веб-приложения
- Безопасность веб-приложений и распространённые атаки
- Версии языка, транспайлеры, бандлеры
- Модули,
import
/export
- React и альтернативы
- Реактивность в программировании
- Архитектура и паттерны проектирования
- Что такое технический долг
- Стиль написания кода в команде
Архитектура приложения
- Трёхслойная архитектура
- Организация потоков данных
- Архитектурный паттерн MVC
- Архитектура и паттерны проектирования
- Порождающие паттерны проектирования
- Структурные паттерны проектирования
- Поведенческие паттерны проектирования
Тестирование
- Как и зачем писать тесты
- Разработка через тестирование (TDD)
- Как упростить тестирование
- Фиктивные объекты и данные, моки, стабы
- Интеграционное и системное тестирование
Типовые решения
- Работа с формами
- Подгрузка контента при прокрутке
- Позиционирование элементов с помощью JS
- Debounce на примере формы поиска
- Throttle на примере изменения страницы при прокрутке
Статьи раздела «JavaScript» по алфавиту
a
-
. add
Относится к теме: Множества (( ) Set
) -
.add
Относится к темам: Объект страницы (Event Listener ( ) document
) Элемент на странице (Element
) -
alert
Относится к теме: Браузерное окружение и API( ) -
Array
Относится к теме: Массивы. from ( ) -
Array
Относится к теме: Массивы. is Array ( ) -
async
Относится к темам: Асинхронный код Обмен данными с API/ await
b
-
beforeunload
Относится к теме: События -
.blur
Относится к теме: Элемент на странице (( ) Element
)
c
-
. catch
Относится к теме: Асинхронный код( ) -
.class
Относится к теме: Элемент на странице (List Element
) -
.clear
Относится к теме: Множества (( ) Set
) -
clear
Относится к теме: Браузерное окружение и APIInterval ( ) -
clear
Относится к теме: Браузерное окружение и APITimeout ( ) -
click
Относится к теме: События -
confirm
Относится к теме: Браузерное окружение и API( ) -
console
Относится к теме: Браузерное окружение и API. log ( ) -
const
Относится к теме: Основы -
.cookie
Относится к темам: Объект страницы (document
) Хранение данных в браузере
d
-
. dataset
Относится к теме: Элемент на странице (Element
) -
Date
Относится к теме: Продвинутый синтаксис - Debounce на примере формы поиска Относится к теме: Типовые решения
-
.delete
Относится к теме: Множества (( ) Set
) - DOM Относится к темам: Браузерное окружение и API Объектная модель документа DOM
-
DOM
Относится к теме: СобытияContent Loaded
e
-
Element
Относится к темам: Объектная модель документа DOM Элемент на странице (Element
) -
.entries
Относится к теме: Множества (( ) Set
) -
Error
и стандартные ошибки Относится к теме: Обработка исключений -
.every
Относится к теме: Массивы( )
f
-
fetch
Относится к темам: Браузерное окружение и API Обмен данными с API( ) -
. filter
Относится к теме: Массивы( ) -
.finally
Относится к теме: Асинхронный код( ) -
.find
Относится к теме: Массивы( ) -
.find
Относится к теме: МассивыIndex ( ) -
.flat
Относится к теме: Массивы( ) -
.flat
Относится к теме: МассивыMap ( ) -
.focus
Относится к теме: Элемент на странице (( ) Element
) -
for
Относится к темам: Формы Основы -
.for
Относится к теме: МассивыEach ( ) -
.for
Относится к теме: Множества (Each ( ) Set
) -
for
. ..in
Относится к теме: Продвинутый синтаксис -
Form
Относится к теме: Браузерное окружение и APIData -
.forms
Относится к теме: Объект страницы (document
)
g
- Geolocation API Относится к теме: Браузерное окружение и API
-
.get
Относится к теме: Элемент на странице (Attribute ( ) Element
) -
.get
Относится к теме: Объект страницы (Element By Id ( ) document
) -
.get
Относится к темам: Объект страницы (Elements By Class Name ( ) document
) Элемент на странице (Element
) -
.get
Относится к темам: Объект страницы (Elements By Tag Name ( ) document
) Элемент на странице (Element
)
h
-
. has
Относится к теме: Множества (( ) Set
) -
.hidden
Относится к теме: Элемент на странице (Element
) -
HTML
иCollection Node
Относится к теме: Объектная модель документа DOMList
i
-
if
…else
Относится к теме: Основы -
.includes
Относится к темам: Строки Массивы( ) -
.index
Относится к темам: Строки МассивыOf ( ) -
.inner
Относится к теме: Элемент на странице (H T M L Element
) -
.inner
Относится к теме: Элемент на странице (Text Element
) -
Intersection Observer
Относится к теме: Браузерное окружение и API
k
-
keydown
Относится к теме: События -
. keys
Относится к теме: Множества (( ) Set
) -
keyup
Относится к теме: События
l
-
.length
Относится к теме: Массивы -
.length
Относится к теме: Строки -
load
Относится к теме: События -
local
Относится к темам: Браузерное окружение и API Хранение данных в браузереStorage
m
-
.map
Относится к теме: Массивы( ) -
Map
Относится к теме: Коллекции -
Math
,. floor ( ) Math
,. round ( ) Math
и. ceil ( ) Math
Относится к теме:. trunc ( ) Math
-
Math
Относится к теме:. random ( ) Math
-
mouseout
Относится к теме: События -
mouseover
Относится к теме: События
n
-
null
Относится к теме: Примитивные типы данных -
Number
Относится к теме: Числа. is Finite ( ) -
Number
Относится к теме: Числа. isNa N ( )
o
-
.outer
Относится к теме: Элемент на странице (H T M L Element
)
p
-
parse
Относится к теме: ЧислаFloat ( ) -
parse
Относится к теме: ЧислаInt ( ) -
performance
Относится к теме: Браузерное окружение и API -
. prevent
Относится к теме: СобытияDefault ( ) -
Promise
Относится к теме: Асинхронный код -
Promise
Относится к теме: Асинхронный код. all ( ) -
Promise
Относится к теме: Асинхронный код. all Settled ( ) -
Promise
Относится к теме: Асинхронный код. any ( ) -
Promise
Относится к теме: Асинхронный код. race ( ) -
prompt
Относится к теме: Браузерное окружение и API( )
q
-
.query
Относится к темам: Объект страницы (Selector ( ) document
) Элемент на странице (Element
) -
. query
Относится к темам: Объект страницы (Selector All ( ) document
) Элемент на странице (Element
) -
queue
Относится к теме: Браузерное окружение и APIMicrotask ( )
r
- React и альтернативы Относится к теме: Веб-приложение
-
.reduce
Относится к теме: Массивы( ) -
.remove
Относится к темам: Объект страницы (Event Listener ( ) document
) Элемент на странице (Element
) -
return
Относится к теме: Функции -
.reverse
Относится к теме: Массивы( )
s
-
scroll
Относится к теме: События -
.scroll
Относится к теме: Элемент на странице (By ( ) Element
) -
. scroll
Относится к теме: Элемент на странице (Into View ( ) Element
) -
.scroll
Относится к теме: Элемент на странице (To ( ) Element
) -
session
Относится к темам: Браузерное окружение и API Хранение данных в браузереStorage -
Set
Относится к темам: Коллекции Множества (Set
) -
set
Относится к теме: Браузерное окружение и APIInterval ( ) -
set
Относится к теме: Браузерное окружение и APITimeout ( ) -
.size
Относится к теме: Множества (Set
) -
.some
Относится к теме: Массивы( ) -
.style
Относится к теме: Элемент на странице (Element
) -
submit
Относится к теме: События -
switch
Относится к теме: Основы
t
-
. text
Относится к теме: Элемент на странице (Content Element
) -
.then
Относится к теме: Асинхронный код( ) -
this
: контекст выполнения функций Относится к теме: Функции - Throttle на примере изменения страницы при прокрутке Относится к теме: Типовые решения
-
.to
Относится к теме: ЧислаString ( ) -
.to
Относится к теме: ОбъектыString ( ) -
touch
Относится к теме: События -
try
…catch
Относится к теме: Обработка исключений
u
-
undefined
Относится к теме: Примитивные типы данных -
unload
Относится к теме: События -
URL
Относится к теме: Браузерное окружение и APISearch Params -
use strict
Относится к теме: Основы
v
-
. values
Относится к теме: Множества (( ) Set
)
w
-
wheel
Относится к теме: События -
while
Относится к теме: Основы -
window
Относится к теме: Браузерное окружение и API. history -
window
Относится к теме: Браузерное окружение и API. location -
window
Относится к теме: Браузерное окружение и API. match Media -
window
Относится к теме: Браузерное окружение и API. navigator -
window
Относится к теме: Браузерное окружение и API. print ( )
а
- Архитектура и паттерны проектирования Относится к темам: Веб-приложение Архитектура приложения
- Архитектурный паттерн MVC Относится к теме: Архитектура приложения
- Асинхронность в JS Относится к теме: Асинхронный код
б
- Безопасность веб-приложений и распространённые атаки Относится к теме: Веб-приложение
- Большое целое Относится к теме: Примитивные типы данных
- Браузерное окружение, BOM Относится к теме: Браузерное окружение и API
- Булев тип Относится к темам: Примитивные типы данных Булев тип
в
- Версии языка, транспайлеры, бандлеры Относится к теме: Веб-приложение
- Виды веб-приложений Относится к теме: Веб-приложение
- Выражения и инструкции Относится к теме: Основы
д
- Дескрипторы Относится к теме: Объекты
и
- Интеграционное и системное тестирование Относится к теме: Тестирование
- Итератор Относится к теме: Продвинутый синтаксис
к
- Как браузер рисует страницы Относится к теме: О браузере
- Как и зачем писать тесты Относится к теме: Тестирование
- Как работают веб-приложения Относится к теме: Веб-приложение
- Как упростить тестирование Относится к теме: Тестирование
- Конструктор Относится к теме: Множества (
Set
) - Координаты Относится к теме: О браузере
л
- Логические операторы Относится к теме: Булев тип
м
- Массив Относится к темам: Коллекции Массивы
- Модули,
import
/export
Относится к теме: Веб-приложение
о
- Области видимости Относится к темам: Основы Функции
- Объект Относится к темам: Интерактив Коллекции Объекты
- Объект
arguments
Относится к теме: Функции - Объект
Math
Относится к теме:Math
- Объектно-ориентированное программирование Относится к теме: Парадигмы программирования
- Объект события
Event
Относится к теме: События - Обёртка
Number
Относится к теме: Числа - Обёртка
String
Относится к теме: Строки - Организация потоков данных Относится к теме: Архитектура приложения
п
- Парадигмы программирования Относится к теме: Парадигмы программирования
- Переменные
const
,let
иvar
Относится к теме: Основы - Поведенческие паттерны проектирования Относится к теме: Архитектура приложения
- Поверхностное и глубокое копирование Относится к теме: Продвинутый синтаксис
- Подгрузка контента при прокрутке Относится к теме: Типовые решения
- Позиционирование элементов с помощью JS Относится к теме: Типовые решения
- Порождающие паттерны проектирования Относится к теме: Архитектура приложения
- Порядок выполнения Относится к теме: Основы
- Почти всё в JavaScript — объект Относится к теме: Объекты
- Преобразование типов Относится к темам: Примитивные типы данных Булев тип
р
- Работа с формами Относится к теме: Типовые решения
- Разработка через тестирование (TDD) Относится к теме: Тестирование
- Реактивность в программировании Относится к теме: Веб-приложение
- Рекурсия Относится к теме: Функции
с
- Символ Относится к теме: Примитивные типы данных
- Событийная модель Относится к темам: Объектная модель документа DOM События
- Спред-синтаксис
.
Относится к теме: Продвинутый синтаксис. . - Стиль написания кода в команде Относится к теме: Веб-приложение
- Строка Относится к темам: Примитивные типы данных Строки
- Структурные паттерны проектирования Относится к теме: Архитектура приложения
т
- Тернарный оператор Относится к теме: Продвинутый синтаксис
- Трёхслойная архитектура Относится к теме: Архитектура приложения
ф
- Фиктивные объекты и данные, моки, стабы Относится к теме: Тестирование
- Функциональное программирование Относится к теме: Парадигмы программирования
- Функция Относится к темам: Основы Функции
- Функция как тип данных Относится к теме: Коллекции
х
- Хранение данных в браузере Относится к темам: О браузере Хранение данных в браузере
- Хранение по ссылке и по значению Относится к теме: Основы
ц
- Цикл Относится к теме: Основы
ч
- Число Относится к темам: Примитивные типы данных Числа
- Что такое API Относится к теме: Обмен данными с API
- Что такое технический долг Относится к теме: Веб-приложение
ш
- Шаблонные строки Относится к теме: Строки
Программирование на JavaScript с помощью кода Visual Studio
Редактировать
Visual Studio Code включает встроенный JavaScript IntelliSense, отладку, форматирование, навигацию по коду, рефакторинг и многие другие расширенные функции языка.
Большинство этих функций работают сразу после установки, а некоторые могут потребовать базовой настройки, чтобы получить наилучшие впечатления. На этой странице представлены функции JavaScript, поставляемые с VS Code. Расширения из VS Code Marketplace могут дополнять или изменять большинство этих встроенных функций. Более подробное руководство о том, как эти функции работают и как их можно настроить, см. в разделе Работа с JavaScript.
IntelliSense
IntelliSense показывает интеллектуальное завершение кода, информацию о наведении курсора и информацию о подписи, чтобы вы могли писать код быстрее и правильнее.
К сожалению, ваш браузер не поддерживает видео HTML 5. VS Code обеспечивает IntelliSense в ваших проектах JavaScript; для многих библиотек npm, таких как React
, lodash
и express
; и для других платформ, таких как , узел
, без сервера или IoT.
См. Работа с JavaScript, чтобы получить информацию о IntelliSense для JavaScript в VS Code, о том, как его настроить, и помочь в устранении распространенных проблем с IntelliSense.
Проекты JavaScript (jsconfig.json)
Файл jsconfig.json определяет проект JavaScript в VS Code. Хотя файлы jsconfig.json
не требуются, вам потребуется создать их в таких случаях, как:
- Если не все файлы JavaScript в вашей рабочей области следует рассматривать как часть одного проекта JavaScript.
Файлы jsconfig.json
позволяют исключить некоторые файлы из отображения в IntelliSense. - Чтобы убедиться, что подмножество файлов JavaScript в вашей рабочей области рассматривается как один проект. Это полезно, если вы работаете с устаревшим кодом, который использует неявные глобальные зависимости вместо
импорта
для зависимостей. - Если ваша рабочая область содержит более одного контекста проекта, например внешний и внутренний код JavaScript. Для многопроектных рабочих пространств создайте
jsconfig.json
в корневой папке каждого проекта. - Вы используете компилятор TypeScript для компиляции исходного кода JavaScript нижнего уровня.
Чтобы определить базовый проект JavaScript, добавьте jsconfig.json
в корень рабочей области:
{ "Параметры компилятора": { "модуль": "commonjs", "цель": "es6" }, "исключить": ["node_modules"] }
Дополнительные сведения о конфигурации jsconfig.json
см. в разделе Работа с JavaScript.
Совет: Чтобы проверить, является ли файл JavaScript частью проекта JavaScript, просто откройте файл в VS Code и выполните команду JavaScript: Перейти к конфигурации проекта . Эта команда открывает файл
jsconfig.json
, который ссылается на файл JavaScript. Уведомление отображается, если файл не является частью какого-либо проектаjsconfig. json
.
Фрагменты
VS Code включает базовые фрагменты JavaScript, которые предлагаются при вводе;
К сожалению, ваш браузер не поддерживает видео HTML 5.Существует множество расширений, предоставляющих дополнительные сниппеты, в том числе сниппеты для популярных фреймворков, таких как Redux или Angular. Вы даже можете определить свои собственные фрагменты.
Совет : Чтобы отключить предложения фрагментов, установите
editor.snippetSuggestions
на«none»
в файле настроек. Параметрeditor.snippetSuggestions
также позволяет изменить расположение фрагментов в предложениях: вверху ("сверху"
), внизу ("снизу"
) или встроены в алфавитном порядке ("встроены"
). По умолчанию"встроенный"
.
Поддержка JSDoc
VS Code понимает многие стандартные аннотации JSDoc и использует эти аннотации для предоставления расширенных возможностей IntelliSense. При желании вы даже можете использовать информацию о типе из комментариев JSDoc, чтобы проверить свой JavaScript.
К сожалению, ваш браузер не поддерживает видео HTML 5. Быстро создавайте комментарии JSDoc для функций, набрав /**
перед объявлением функции и выберите комментарий JSDoc предложение фрагмента:
Чтобы отключить предложения комментариев JSDoc, установите "javascript.suggest.completeJSDocs": false
.
Наведите указатель мыши на символ JavaScript, чтобы быстро просмотреть информацию о его типе и соответствующую документацию.
Сочетание клавиш ⌘K ⌘I (Windows, Linux Ctrl+K Ctrl+I) показывает эту информацию при наведении на текущую позицию курсора.
Когда вы пишете вызовы функций JavaScript, VS Code показывает информацию о сигнатуре функции и выделяет параметр, который вы сейчас заполняете:
Справка по подписи отображается автоматически, когда вы вводите (
или ,
внутри функции вызов. Нажмите ⇧⌘Пробел (Windows, Linux Ctrl+Shift+Пробел), чтобы вручную вызвать справку по подписи. предложения, VS Code автоматически добавляет импорт для него в начало файла.0003
Просто начните печатать, чтобы увидеть предложения для всех доступных символов JavaScript в вашем текущем проекте. Предложения автоматического импорта показывают, откуда они будут импортированы:
Если вы выберете одно из этих предложений автоматического импорта, VS Code добавит для него импорт.
В этом примере VS Code добавляет импорт для Button
из material-ui в начало файла:
Чтобы отключить автоматический импорт, установите "javascript.suggest.autoImports"
на ложь
.
Совет: VS Code пытается определить наилучший стиль импорта. Вы можете явно настроить предпочтительный стиль кавычек и стиль пути для импорта, добавленного в ваш код, с помощью параметров
javascript.preferences.quoteStyle
иjavascript. preferences.importModuleSpecifier
.
Форматирование
Встроенный модуль форматирования JavaScript в VS Code обеспечивает базовое форматирование кода с приемлемыми значениями по умолчанию.
javascript.format.*
настройки настраивают встроенный форматтер. Или, если встроенный модуль форматирования мешает, установите "javascript.format.enable"
на false
, чтобы отключить его.
Чтобы получить более специализированные стили форматирования кода, попробуйте установить одно из расширений форматирования JavaScript из Marketplace.
JSX и автоматически закрывающиеся теги
Все функции JavaScript VS Code также работают с JSX:
Вы можете использовать синтаксис JSX как в обычном *.js
файлов и *.jsx
файлов.
VS Code также включает функции, специфичные для JSX, такие как автоматическое закрытие тегов JSX:
К сожалению, ваш браузер не поддерживает видео HTML 5. Установите "javascript.autoClosingTags"
на false
, чтобы отключить закрытие тега JSX.
Навигация по коду
Навигация по коду позволяет быстро перемещаться по проектам JavaScript.
- Перейти к определению F12 — Перейти к исходному коду определения символа.
- Определение просмотра ⌥F12 (Windows Alt+F12, Linux Ctrl+Shift+F10) — открыть окно просмотра, в котором показано определение символа.
- Перейти к ссылкам ⇧F12 (Windows, Linux Shift+F12) — Показать все ссылки на символ.
- Перейти к определению типа — Перейти к типу, определяющему символ. Для экземпляра класса это покажет сам класс, а не место, где определен экземпляр.
Вы можете перемещаться с помощью поиска по символам, используя Перейти к командам Symbol из палитры команд (⇧⌘P (Windows, Linux Ctrl+Shift+P)).
- Перейти к символу в файле ⇧⌘O (Windows, Linux Ctrl+Shift+O)
- Перейти к символу в рабочей области ⌘T (Windows, Linux Ctrl+T)
Переименовать
Нажмите F2, чтобы переименовать символ под курсором в вашем проекте JavaScript:
Рефакторинг
VS Code включает несколько удобных рефакторингов для JavaScript, таких как Функция извлечения и Извлечение константы . Просто выберите исходный код, который вы хотите извлечь, а затем щелкните лампочку в поле или нажмите (⌘. (Windows, Linux Ctrl+.)) для просмотра доступных рефакторингов.
Доступные рефакторинги включают:
- Извлечение в метод или функцию.
- Извлечь в константу.
- Преобразование между именованным импортом и импортом пространства имен.
- Перейти к новому файлу.
Дополнительные сведения о рефакторингах и о том, как настроить сочетания клавиш для отдельных рефакторингов, см. в разделе Рефакторинг.
Неиспользуемые переменные и недостижимый код
Неиспользуемый код JavaScript, такой как блок else оператора if
, который всегда истинен или импорт без ссылки, исчезает в редакторе:
Вы можете быстро удалить этот неиспользуемый код наведя на него курсор и выполнив команду Quick Fix (⌘. (Windows, Linux Ctrl+.)) или щелкнув лампочку.
Чтобы отключить исчезновение неиспользуемого кода, установите "editor.showUnused"
на false
. Вы также можете отключить исчезновение неиспользуемого кода только в JavaScript, установив:
"[javascript]": { "editor.showUnused": ложь }, "[javascriptреакция]": { "editor.showUnused": ложь },
Организовать импорт
Организовать импорт Исходное действие сортирует импорт в файле JavaScript и удаляет все неиспользуемые импорты:
К сожалению, ваш браузер не поддерживает видео HTML 5.Вы можете запустить Организовать импорт из исходного действия или с помощью сочетания клавиш ⇧⌥O (Windows, Linux Shift+Alt+O).
Организовать импорт также можно автоматически при сохранении файла JavaScript, установив:
"editor.codeActionsOnSave": { "source.organizeImports": правда }
Действия кода при сохранении
Параметр editor.codeActionsOnSave
позволяет настроить набор действий кода, которые выполняются при сохранении файла. Например, вы можете включить организацию импорта при сохранении, установив:
// При сохранении запустите исходные действия fixAll и OrganizeImports "editor.codeActionsOnSave": { "source.fixAll": правда, "source.organizeImports": правда, }
Вы также можете установить editor.codeActionsOnSave
для массива кодовых действий, которые будут выполняться по порядку.
Вот некоторые исходные действия:
-
"organizeImports"
— Позволяет организовать импорт при сохранении. -
"fixAll"
— Автоматическое исправление при сохранении вычисляет все возможные исправления за один раунд (для всех поставщиков, включая ESLint). -
"fixAll.eslint"
— Автоматическое исправление только для ESLint. -
"addMissingImports"
— Добавляет все отсутствующие импорты при сохранении.
Дополнительные сведения см. в разделе Node.js/JavaScript.
Предложения кода
VS Code автоматически предлагает некоторые распространенные упрощения кода, такие как преобразование цепочки .then
вызывает обещание использовать async
и await
Установите "javascript.suggestionActions.enabled"
на false
, чтобы отключить предложения.
Подсказки-вкладыши
Подсказки-вкладыши добавляют дополнительную встроенную информацию в исходный код, чтобы помочь вам понять, что делает код.
Вложенные подсказки имени параметра показывают имена параметров в вызовах функций:
Это может помочь вам понять значение каждого аргумента с первого взгляда, что особенно полезно для функций, которые принимают логические флаги или имеют параметры, которые легко перепутать.
Чтобы включить подсказки имени параметра, установите javascript.inlayHints.parameterNames
. Возможны три значения:
-
нет
— отключить подсказки вкладки параметров. -
literals
— Показывать подсказки вкладок только для литералов (строка, число, логическое значение). -
все
— показывать подсказки для всех аргументов.
Подсказки вкладок типов переменных показывают типы переменных, которые не имеют явных аннотаций типов.
Параметр: javascript.inlayHints.variableTypes.enabled
Подсказки вкладок типа свойства показывают тип свойств класса, которые не имеют явной аннотации типа.
Параметр: javascript.inlayHints.propertyDeclarationTypes.enabled
Подсказки типов параметров показывают типы неявно типизированных параметров.
Настройка: javascript.inlayHints.parameterTypes.enabled
Подсказки вкладок типа возвращаемого значения показывают возвращаемые типы функций, которые не имеют явной аннотации типа.
Параметр: javascript.inlayHints.functionLikeReturnTypes.enabled
Ссылки CodeLens
Ссылки JavaScript CodeLens отображает встроенный счетчик ссылок для классов, методов, свойств и экспортированных объектов: 9002
2 Включить thes CodeLens, установите "javascript.referencesCodeLens.enabled" 9от 0016 до верно
. Нажмите на счетчик ссылок, чтобы быстро просмотреть список ссылок:
Обновить импорт при перемещении файла
Когда вы перемещаете или переименовываете файл, который импортируется другими файлами в вашем проекте JavaScript, VS Code может автоматически обновлять все пути импорта, которые ссылаются на перемещенный файл:
К сожалению, ваш браузер не поддерживает видео HTML 5. Параметр javascript.updateImportsOnFileMove.enabled
управляет этим поведением. Допустимые значения параметров:
-
"подсказка"
— значение по умолчанию. Спрашивает, следует ли обновлять пути для каждого перемещения файла. -
"всегда"
— всегда автоматически обновлять пути. -
"никогда"
– Не обновлять пути автоматически и не запрашивать.
Линтеры
Линтеры выдают предупреждения о подозрительном коде. Хотя в VS Code нет встроенного линтера JavaScript, на рынке доступно множество расширений линтера JavaScript.
Совет: Этот список динамически запрашивается из VS Code Marketplace. Прочтите описание и отзывы, чтобы решить, подходит ли вам расширение.
Проверка типов
Вы также можете использовать некоторые расширенные функции проверки типов и отчетов об ошибках TypeScript в обычных файлах JavaScript. Это отличный способ выявить распространенные ошибки программирования. Эти проверки типов также позволяют использовать несколько замечательных быстрых исправлений для JavaScript, в том числе Добавить отсутствующий импорт и Добавить отсутствующее свойство .
TypeScript пытался вывести типы в файлах .js
так же, как и в файлах .ts
. Когда типы невозможно вывести, их можно указать явно с помощью комментариев JSDoc. Вы можете узнать больше о том, как TypeScript использует JSDoc для проверки типов JavaScript, в разделе Работа с JavaScript.
Проверка типов JavaScript является необязательной и необязательной. Существующие инструменты проверки JavaScript, такие как ESLint, можно использовать вместе со встроенными функциями проверки типов.
Отладка
VS Code поставляется с отличной поддержкой отладки для JavaScript. Устанавливайте точки останова, проверяйте объекты, перемещайтесь по стеку вызовов и выполняйте код в консоли отладки. Дополнительные сведения см. в разделе Отладка.
Отладка на стороне клиента
Вы можете отлаживать код на стороне клиента с помощью отладчика браузера, такого как встроенный отладчик для Edge и Chrome или отладчик для Firefox.
Отладка на стороне сервера
Отладка Node.js в VS Code с помощью встроенного отладчика. Настройка проста, и вам поможет руководство по отладке Node.js.
Популярные расширения
VS Code поставляется с отличной поддержкой JavaScript, но вы можете дополнительно установить отладчики, фрагменты кода, линтеры и другие инструменты JavaScript через расширения.
Совет: Указанные выше расширения запрашиваются динамически. Нажмите на плитку расширения выше, чтобы прочитать описание и отзывы, чтобы решить, какое расширение лучше всего подходит для вас. Смотрите больше на торговой площадке.
Следующие шаги
Читайте дальше, чтобы узнать о:
- Работа с JavaScript — более подробная информация о поддержке JavaScript в VS Code и способах устранения распространенных проблем.
- jsconfig.json — Подробное описание файла проекта
jsconfig.json
. - IntelliSense — узнайте больше об IntelliSense и о том, как его эффективно использовать для вашего языка.
- Отладка — узнайте, как настроить отладку для вашего приложения.
- Node.js — пошаговое руководство по созданию экспресс-приложения Node.js.
- TypeScript — VS Code отлично поддерживает TypeScript, что обеспечивает структуру и строгую типизацию кода JavaScript.
Общие вопросы
Поддерживает ли VS Code JSX и React Native?
VS Code поддерживает JSX и React Native . Вы получите IntelliSense для React/JSX и React Native из автоматически загруженных файлов объявления типов из репозитория файлов объявлений типов npmjs. Кроме того, вы можете установить популярное расширение React Native из Marketplace.
Чтобы включить операторы импорта ES6 для React Native , необходимо установить для параметра компилятора allowSyntheticDefaultImports
значение true
. Это говорит компилятору создать синтетические элементы по умолчанию, и вы получаете IntelliSense. React Native использует Babel за кулисами для создания надлежащего кода времени выполнения с членами по умолчанию. Если вы также хотите выполнить отладку кода React Native , вы можете установить расширение React Native.
Поддерживает ли VS Code язык программирования Dart и платформу Flutter?
Да, существуют расширения VS Code для разработки Dart и Flutter. Вы можете узнать больше в документации Flutter.dev.
IntelliSense не работает для внешних библиотек
Автоматическое получение типов
работает для зависимостей, загруженных npm (указан в package.json
), Bower (указан в bower.json
) и для многих наиболее распространенных библиотеки, перечисленные в вашей структуре папок (например, jquery-3.1.1.min.js
).
Импорт стилей ES6 не работает.
Если вы хотите использовать импорт в стиле ES6, но в некоторых файлах объявлений типов еще не используется экспорт в стиле ES6, установите для параметра компилятора TypeScript allowSyntheticDefaultImports
значение true.
{
"Параметры компилятора": {
"модуль": "commonjs",
"цель": "es6",
// Это строка, которую вы хотите добавить
"allowSyntheticDefaultImports": правда
},
"исключить": ["node_modules", "**/node_modules/*"]
}
Можно ли отлаживать минимизированный/упрощенный JavaScript?
Да, можно. Вы можете увидеть, как это работает, используя исходные карты JavaScript в разделе Отладка Node.js.
Как отключить проверку синтаксиса при использовании конструкций, отличных от ES6?
Некоторые пользователи хотят использовать синтаксические конструкции, такие как предложенный оператор конвейера ( |>
). Однако в настоящее время они не поддерживаются языковой службой JavaScript VS Code и помечаются как ошибки. Для пользователей, которые все еще хотят использовать эти будущие функции, мы предоставляем Настройка javascript.validate.enable
.
С помощью javascript.validate.enable: false
вы отключаете все встроенные проверки синтаксиса. Если вы сделаете это, мы рекомендуем вам использовать линтер, такой как ESLint, для проверки вашего исходного кода.
Могу ли я использовать другие инструменты JavaScript, такие как Flow?
Да, но некоторые функции языка Flow, такие как проверка типов и ошибок, могут мешать встроенной поддержке JavaScript в VS Code. Чтобы узнать, как отключить встроенную поддержку JavaScript в VS Code, см. раздел Отключение поддержки JavaScript.
06.10.2022
Что такое язык программирования Javascript?
В этом посте из серии «Языки программирования для облака» мы познакомимся с надежным и универсальным языком программирования JavaScript. Читайте дальше, чтобы узнать об истории JavaScript, примерах его использования и причинах, по которым вы захотите его изучить. Приготовьтесь узнать, почему JavaScript стал сегодня одним из самых популярных языков программирования для разработки в облаке!
/>
Ваши ключи к лучшей карьере
Начните работу с ACG сегодня, чтобы изменить свою карьеру с помощью курсов и реальных практических занятий в AWS, Microsoft Azure, Google Cloud и не только.
Начать бесплатную пробную версию
История JavaScript В 1995 году Брендан Эйх создал JavaScript для Netscape Navigator, доминирующего веб-браузера того времени. JavaScript позволил веб-разработчикам делать веб-сайты более динамичными, изменяя визуальные элементы на экране в режиме реального времени по мере взаимодействия пользователей с сайтом. В течение первых шести месяцев JavaScript было несколько изменений имени. Первоначально он назывался Mocha, а затем LiveScript, прежде чем был назван JavaScript.
Забавный факт: несмотря на свое название, JavaScript на самом деле не связан с языком программирования Java. Название появилось благодаря партнерству между Netscape и Sun Microsystems, создателем Java.
Сегодня JavaScript превратился в нечто большее, чем просто язык сценариев для Интернета. Это надежный и универсальный язык, который можно использовать по-разному, поэтому независимо от того, предпочитаете ли вы императивное программирование, более объектно-ориентированный стиль, функциональный подход или даже модель, управляемую событиями, вы можете сделать все это в JavaScript.
Для чего я могу использовать JavaScript? JavaScript — это рабочая лошадка. Он может:
- Добавлять динамическое и интерактивное содержимое на веб-сайты
JavaScript остается №1, когда речь идет о добавлении динамического и интерактивного содержимого на веб-сайты. Сегодня он управляет почти каждой страницей в Интернете и почти так же важен для Интернета, как HTML.
- Создание веб-приложений и мобильных приложений
JavaScript также используется для создания полнофункциональных веб-приложений и мобильных приложений.
- Написание кода на стороне сервера
JavaScript больше не просто на стороне клиента — теперь он также часто используется для написания кода на стороне сервера.
- Разработка видеоигр
Благодаря своей универсальности и способности работать на самых разных устройствах JavaScript даже играет важную роль в разработке видеоигр.
Получить облачный словарь боли
Говорить в облаке не должно быть сложно. Мы проанализировали миллионы ответов, чтобы определить основные концепции, которые сбивают людей с толку. Воспользуйтесь этим руководством по облачным технологиям , чтобы получить краткие определения некоторых наиболее болезненных облачных терминов.
Получить товар
Почему JavaScript так популярен? Согласно опросу разработчиков Stack Overflow за 2020 год, JavaScript является наиболее широко используемым языком программирования. Давайте посмотрим, почему это так:
- Универсальность
Одной из причин популярности JavaScript является его центральная роль, когда дело доходит до сети: JavaScript везде и поддерживается всеми широко используемыми веб-браузерами. Многие разработчики сначала знакомятся с JavaScript благодаря своему опыту веб-разработки, а затем продолжают использовать язык для других видов проектов.
- Простота в освоении
JavaScript — относительно простой язык для начала работы. Новичку довольно просто делать такие вещи, как печатать «hello world» или добавлять некоторые динамические элементы на веб-страницу, поэтому барьер для входа низкий.
- Универсальность
Другая причина популярности JavaScript — его универсальность. JavaScript довольно открыт и ничем не ограничен по сравнению с такими языками, как Java, C# и Go. Это упрощает кодирование с помощью JavaScript в различных стилях программирования и в различных сценариях. Вы можете использовать JavaScript как для внешней, так и для внутренней части ваших приложений.
- Сообщество и ресурсы
JavaScript имеет большое полезное сообщество и множество мощных и надежных библиотек и фреймворков для работы. Если вы хотите создать веб-сайт, серверное приложение или игру, вы найдете фреймворк и поддержку сообщества, которые помогут вам на этом пути.
Совместимость с облаком JavaScript Если вы программируете в облаке, все основные платформы отдают приоритет поддержке JavaScript. JavaScript особенно эффективен в контексте бессерверных предложений, таких как AWS Lambda, Azure Functions и облачные функции GCP.
Зачем мне изучать JavaScript? JavaScript необходим для Интернета. Если вы хотите заниматься какой-либо веб-разработкой, вам, вероятно, потребуется использовать JavaScript. Но это также очень полезный язык вне веб-браузера. Если вы знакомы с JavaScript, вы можете использовать его для создания любых приложений.
Если вам все еще нужно больше убедительности, в опросе разработчиков Stack Overflow за 2020 год указана средняя зарплата разработчика JavaScript в США в размере 112 тысяч долларов в год. Итак, если вы хотите изучить мощный, универсальный и готовый к работе в облаке язык программирования, JavaScript — отличный выбор.
Начало работы с JavaScript Готовы начать свое путешествие по JavaScript? Ознакомьтесь с Учебником по современному JavaScript и курсом ACG Introduction to JavaScript!
На данный момент это весь JavaScript! Ждите новых выпусков из нашей серии «Языки программирования для облака». А пока начните бесплатную пробную версию ACG или ознакомьтесь с бесплатным обучением работе с облачными технологиями в этом месяце. Вы также можете подписаться на A Cloud Guru на YouTube, чтобы получать еженедельные новости об облачных технологиях, поставить лайк на нас в Facebook, подписаться на нас в Twitter и присоединиться к обсуждению в Discord.
Введение в JavaScript (бесплатный учебник)
Веб-разработка для начинающих >
Урок 5: Введение в JavaScript
1
Учебник 1 2
Учебник 2 3
Учебник 3 4
Учебник 4
Учебник 5 6
Финальный тест
Веб-разработка для начинающих Предыдущий
Учебник
Финальная викторина
💬 «В некотором смысле программирование похоже на рисование. Вы начинаете с чистого холста и некоторых основных материалов. Вы используете комбинацию науки, искусства и ремесла, чтобы определить, что с ними делать». (Эндрю Хант)
Почему JavaScript?
Добро пожаловать на пятый и последний день вашего краткого курса веб-разработки! Сегодня мы коснемся JavaScript и попытаемся немного импровизировать, узнавая больше об этом третьем и последнем столпе Интернета.
JavaScript, как вы, возможно, знаете, повсеместно используется в современном мире разработки программного обеспечения. Это основа фронтенд-разработки и ключевой компонент таких фреймворков, как ReactJS, Angular и VueJS. Он также может помочь в создании надежной серверной части с такими платформами, как Nodejs, запускать настольные приложения, такие как Slack, Atom и Spotify, и работать на мобильных телефонах как прогрессивные веб-приложения (PWA).
Короче говоря, он повсюду — и не зря. Во-первых, по сравнению с другими языками, такими как C и Java, JavaScript, как правило, легче изучать. Когда мы говорим «проще», мы имеем в виду, как быстро вы можете превратиться из новичка в JavaScript в того, кто действительно может зарабатывать на жизнь написанием профессионального высококачественного кода JavaScript. Так что в этом смысле он более доступен, чем некоторые другие языки, такие как C и Java.
JavaScript — это также увлекательный и полезный язык, что особенно важно, когда вы только начинаете заниматься разработкой программного обеспечения. Поддержка сообщества очень хорошая, поэтому, если вы застряли, есть большая вероятность, что проблема и ее решение уже существуют в Интернете.
Введение
Теперь, когда мы получили представление о JavaScript с высоты птичьего полета, давайте перейдем к более техническим деталям. JavaScript был создан, чтобы оживить веб-страницы. Так же, как HTML и CSS, JavaScript записывается в виде простых текстовых файлов с расширением .js.
Как упоминалось ранее, JavaScript можно использовать для выполнения многих полезных операций во внешнем интерфейсе, таких как проверка форм, оповещение пользователей, сохранение временных данных и выполнение вычислений — и это лишь некоторые из них.
😎Совет от профессионала: Помимо самого названия, JavaScript не имеет никакого отношения к Java. Новички часто путаются между двумя языками. Помните, что Java — это совершенно другой язык, созданный для другой цели (хотя вы все равно обнаружите, что он работает на некоторых бэкендах веб-сайтов).
Наконец, прежде чем мы рассмотрим сегодняшний маршрут, помните, что JavaScript, так же, как HTML и CSS (а может быть, даже больше), — обширный язык. Мы будем изучать только те части, которые имеют отношение к нам сегодня, поэтому мы перечислим некоторые полезные ресурсы в конце, если вы хотите узнать больше.
Что мы будем делать сегодня?
- Основы использования JavaScript: переменные, функции и операторы
- Выберите элементы HTML с JavaScript
- Прикрепите прослушиватель кликов к элементам HTML-формы
- Получить некоторые введенные пользователем значения
- Проверить нашу форму с помощью JavaScript
Наконец-то ожидание закончилось! Давайте перейдем к делу.
1. Основы JavaScript
JavaScript — это язык программирования, и, как и большинство языков программирования, он имеет некоторые основные конструкции, которые мы рассмотрим. Программа на JavaScript похожа на последовательность шагов. Подобно тому, как мы даем указания незнакомцу, компьютеру нужны подробные инструкции, определенные как шаги, для выполнения любого простого или сложного действия.
Давайте начнем с некоторых основ.
Написание Javascript
Как и для CSS, мы создадим новый файл для написания JavaScript с именем ‘script.js’ в каталоге портфолио. Теперь откройте файл index.html и вставьте эту строку непосредственно перед закрывающим тегом body (