Начни с ПОЧЕМУ!

📌 Позвольте мне рассказать вам о моем путешествии с JS и о том, что побудило меня переключиться на него. Около 3 месяцев назад я проходил собеседование в качестве инженера-программиста в компании Priotix. После обмена мнениями и нескольких технических встреч, на которых меня спросили о некоторых принципах программирования и выполнении некоторых задач, меня наняли, но не как разработчика C #, поскольку Priotix работает с Node.js, спросили, могу ли я Я готов перейти на JS через месяц или два процесса обучения. Мне нравятся вызовы, и я принял их, не задумываясь. После нескольких месяцев перехода я адаптировался к JS и делюсь с вами тем, чему научился😎.

Не будем здесь увязать и займемся делом🚪.

1. Начните это как хобби с нескольких простых вопросов.

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

Говорят, кошку убило любопытство, но это не так😊

2. Найдите различия в синтаксисе.

Предположим, у вас достаточно опыта в программировании в качестве разработчика C # или Java, не так уж и важно освоить новый синтаксис. Для меня это было похоже на день просмотра некоторых руководств и их практического применения. Например, вы можете начать с учебного пособия Основы для начинающих, но, конечно же, нет необходимости просматривать его слово в слово, просто пропустите те части, которые вам знакомы.

Вот такая хорошая, с которой можно было бы начать.

3. Примите новую реализацию парадигмы ООП.

Как новичок в программировании на JavaScript, когда вы слышите ООП, вы ожидаете получить классическое значение класса и объекта. Однако благодаря ES6 у нас есть определение класса в JS с 2015 года. Несмотря на то, что в настоящее время класс есть, было бы хорошо знать наследование прототипов в JS.

Я бы порекомендовал вам посмотреть это руководство по ООП на JS и попытаться кодировать проекты, которые вам назначает наставник.

Между прочим, я не связан с Мошем, я просто предлагаю то, что сделал лично я.

4. Подробнее о концепциях.

Очевидно, что есть некоторые принципиальные отличия по сравнению с другими языками, поэтому вы, как JS-разработчик, должны знать о них и понимать их наизусть💖.

Среди них я должен назвать некоторые концепции, такие как Scoping, Event Loop, Closure, Object, Async / Promisses и т. Д.

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

Первый - Продвинутый JavaScript от Кайла Симпсона, а второй - Продвинутые темы JavaScript Стивена Хэнкока. Конечно, это не единственные ресурсы, их много, но я начал с них.

5. Испытайте себя и улучшите свои навыки решения проблем JS.

Пришло время задержать в уме новые знания, решив некоторые задачи по программированию. Определенно вы должны знать некоторые из них, одна из них, которая приходит мне на ум, - это Hacker Rank, где вы можете увидеть множество вопросов и решить их на месте. Он не только помогает вам в программировании, но также может быть полезен для ваших знаний структуры данных и, что более важно, алгоритма.

6. Откройте для себя одну из самых популярных фреймворков.

Не нужно получать мастер-сертификат по JS, чтобы начать изучать фреймворк, вы можете практиковаться во время работы с фреймворком. Вот в чем дело: вам нужно решить, хотите ли вы быть Front-end или back-end-разработчиком, и на основе этого выбрать фреймворк.

Поскольку освоение фреймворка потребует времени, вам нужно читать и практиковать не только JS, но и фреймворк, который вы выбрали.

Для меня это был node.js, koajs. Я читал документацию и искал всякий раз, когда сталкивался с проблемой справиться с этим.

7. Познакомьтесь с удобными библиотеками.

Вы должны знать общие и полезные пакеты в npm js, который является репозиторием для всех библиотек, которые могут упростить ваш день, и вы перейдете с 🥴 на 😊 :)

Без тени сомнения, жизнь без библиотек иногда становится тяжелой.

Ой, я забыл дать вам ответ на первый вопрос:

a defined? false
b defined? true

Сделай это самостоятельно🤘