10 вещей, которые необходимо изучить всем начинающим разрабам JavaScript

В 1995 году, больше 20 годов назад, на свет возник язык программирования JavaScript (к слову, 1-ое его заглавие было Mocha). сейчас JavaScript применяется во всех WEB-проектах, конкретно он одномоментно обрабатывает все действия, инициируемые юзерами и обменивается информацией с сервером без перезагрузки странички. Без JavaScript мы не смогли бы даже поставить «лайк» без перезагрузки странички, не говоря уже о других простых действиях. Для всех тех, кому увлекательна данная тема, Rubrain.com подготовил перевод статьи «10 вещей, которые нужно знать, чтоб стать разрабом JavaScript», которая будет очень полезна как начинающим, так и опытным разрабам. С оригиналом статьи можно ознакомиться по ссылке.

0
Обсудить

В закладки

Предположу, что вы – Интернет-разработчик. Надеюсь, у вас все отлично, есть хорошая работа, быть может вы фрилансер либо работаете на себя. Может быть, вы лишь начинаете как Интернет-разработчик, либо работаете программером уже длительное время.

Вроде бы уютно вы себя не ощущали при работе с JavaScript, постоянно полезно освежить в памяти те темы, которые могут быть полезны для вас сначала. Ниже 10 вещей, которые вы непременно должны изучить, до этого чем вы можете именовать себя мастером в JavaScript.

  • Контроль потока

Возможно, самая основная тема во всем перечне. одна из самых принципиальных, быть может, важнейшая. Если вы не понимаете, как действовать со своим кодом, для вас будет трудновато. Познание входов и выходов из основного потока управления, непременно, нужно.

if else – если вы не понимаете что это, как вы писали код ранее?

switch – на самом деле это тоже самое, что “if else”, но красноречивее, используйте его при работе с несколькими кейсами сходу.

for – не повторяйтесь, для этого выдуманы циклы. Не считая обычного цикла “for” для вас также весьма понадобятся циклы “for of”` и “for in”. Огромным преимуществом for-циклов будет то, что они блочные, потому вы сможете применять в их async/await. Расширенные условия проверки (conditionals) – внедрение условных (тернарных) операторов и логических операторов может существенно облегчить вашу жизнь, в особенности когда вы пытаетесь что-то встроить, а означает вы не желаете сохранять значения, чтоб применять их в предстоящем.

Пример:

// ternary

console.log(new Date().getHours() < 12 ? ‘Good Morning!’ : ‘Time for a siesta’)

// logical operators

const isJsMaster = prompt(‘Are you a JavaScript master?’) === ‘true’

console.log(isJsMaster && ‘proficient coder’)

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

У меня это заняло много времени. Непринципиально, работаете ли вы в фронтэнде либо бэкэнде 1-ый год либо около того, вы, возможно, по дефлоту используете console.log либо, может быть, console.error для обработки ошибок. Чтоб создавать отличные приложения, для вас точно необходимо поменять “ленивые логи” на отменно обработанные ошибки. Может быть, вы возжелаете выяснить, как сделать собственный свой конструктор ошибок для “перехватывания” ошибок и приятной демонстрации юзеру в чем конкретно неувязка.

  • Модели данных

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

Пример:

const calcShape = (width, height, depth, color, angle) => {…}

const calcShape = ({width, height, depth, color, angle}) => {…}

  • Ассинхроннизация

Это весьма принципиальный нюанс JavaScript. Или вы извлекаете данные из бэкенда, или вы обрабатываете запросы асинхронно конкретно в бэкенде. Фактически во всех вариантах использования вы столкнетесь с асинхронностью и ее предупреждениями. Если вы не понимаете, что же все-таки это такое, вы, возможно, просто увидите необычную ошибку, которую попытаетесь поправить, потратив на это несколько часов. Если вы все-же понимаете, что же все-таки это такое, но по сути не представляете, что с сиим созодать, вы попадете в “ад оборотных вызовов”. Наилучшим решением будет внедрение промисов и/либо async/await в ваших приложениях.

  • Деяния с DOM

Это весьма увлекательная тема. Обычно она не принимается в расчет современными разрабами. Может быть, вы изучали jQuery и перед вами никогда не вставала необходимость обучаться способностям работы с DOM, быть может, вы просто используете фреймворк фронтэнда, где изредка требуются пользовательские манипуляции с DOM.Тем не наименее, я думаю, что это принципиальная часть осознания JavaScript, по последней мере, во фронтэнде. Познание того, как работает DOM и как получить доступ к его элементам, дает для вас глубинное осознание того, как работают сайты. Не считая того, момент, когда для вас необходимо будет выполнить деяния с DOM все равно рано либо поздно наступит, даже если вы используете современные встроенные фреймворки, и вы точно не желаете добавлять jQuery в ваш package.json всего только для доступа к элементу.

  • Node.js / Express

Даже будучи разрабом фронтэнда, вы должны знать базы node.js. В эталоне вы также должны осознавать, как приготовить обычный Express-, добавить несколько маршрутов либо поменять имеющиеся. JavaScript непревзойденно подступает для написания скриптов, которые посодействуют для вас заавтоматизировать огромное количество задач. Как следует, умение читать файлы, работать с файловыми способами либо буферами дает для вас неплохой набор инструментов для сотворения всего что угодно.

  • Многофункциональный подход

Дискуссии вокруг многофункционального и объектно-ориентированного программирования никогда не завершаются. Вы, возможно, сможете достигнуть 1-го и такого же, используя хоть какой из этих подходов. В JavaScript это еще проще, в вашем распоряжении есть сходу оба подхода. Такие библиотеки, как Lodash, предоставляют для вас вправду неплохой набор инструментов для сотворения приложений с многофункциональным подходом. В истинное уже даже нет необходимости применять наружные библиотеки. Почти все из более принципиальных функций были реализованы в официальной спецификации JavaScript. Вы точно должны знать, как применять map “reduce”, фильтр “forEach” и “find”.

  • Объектно-ориентированный подход

Подобно многофункциональному подходу, вы также должны ознакомиться с объектно-ориентированным JavaScript, если вы вправду планируете стать профи. Я третировал данной частью в течение долгого времени в собственной карьере, используя обходные пути, но время от времени точно еще лучше применять объекты / классы и экземпляры класса для реализации определенных функций. Классы обширно употребляются в React, MobX и кастомных конструкторах.

  • Фронтэнд фреймворк

Большая тройка – это React.js, Angular и Vue.js. Если вы на данный момент находитесь в поиске работы, то совсем буквально, что познание 1-го из перечисленных будет в качестве неотклонимого условия при приеме. Даже невзирая на то, что они повсевременно изменяются, принципиально изучить общую теорию, чтоб осознать, как работают приложения. Не считая того, так намного проще писать приложения. Если вы еще не решили, в которой поезд вы желаете сесть, я предлагаю React.js. Я работал с ним крайние пару лет и не пожалел о собственном решении.

  • Пакетирование / Транспиляция

К огорчению, это большая часть веб-разработки. С одной стороны, я не должен гласить “к огорчению”, поэтому что это круто – иметь возможность писать код, используя все новые функции. С иной стороны, мы постоянно должны держать в голове, что есть старенькые браузеры, которые могут не поддерживать эти функции, потому мы должны перенести наш код в нечто другое, что соображают старенькые браузеры. Если вы работаете с node.js, вы, возможно, будете меньше заниматься транспиляцией кода. Фактическим эталоном для транспиляции является babel.js, так что изучите его непременно. Что касается пакетирования вашего кода и связывания всего совместно, у вас есть несколько вариантов. Webpack длительное время был доминирующим игроком для этих целей. Некое время вспять Parcel выскочил из ниоткуда и сейчас я пользуюсь в главном им, потому что он неописуемо эффективен и прост в настройке, хотя и не безупречен.

БОНУС: Постоянные выражения

Это не относится к JavaScript, но неописуемо полезно в почти всех вариантах использования. совместно с тем – может вас запутать. Знакомство с синтаксисом постоянных выражений точно займет у вас некое время, а уяснить все разные варианты уж буквально нереально.

Update: Тестирование

Как отметил Пол Камма, тестирование является вправду принципиальной частью разработки программного обеспечения, JavaScript не является исключением. При написании кода, вы (надеюсь) тестируете его, до этого чем запускать функцию, даже если она мануальная. Наилучшим подходом является внедрение автоматических тестов, и для этого есть разные типы тестов – это модульное тестирование, сквозное тестирование, нагрузочное тестирование, испытания сохранности либо испытания фронтэнда (к примеру, установлен компонент либо нет). Существует огромное количество разных тестовых сред – enzyme, jasmine, mocha, chai и т. д. На данный момент мое любимое решение – ava.js, поглядите его, если до сего времени не работали с автоматическими тестами.

Надеюсь, вы уже исследуете все темы, вышеперечисленные. Если нет, начинайте работать и попробуйте стать мастером в JavaScript! Это точно стоит того. Помните, что практика – это все, что для вас необходимо. Потому даже если вы никогда не работали с этими инструментами либо что-то понимаете о их, но толком не осознаете, как ими воспользоваться, эти познания придут к для вас с практикой в ближнем будущем.

Материал размещен юзером.
Нажмите клавишу «Написать», чтоб поделиться воззрением либо поведать о своём проекте.

Написать

Источник

0 Comments

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>