Skip to content

Instantly share code, notes, and snippets.

@Phoenix35
Last active December 4, 2018 11:35
Show Gist options
  • Save Phoenix35/cd03a6a73cb9b3899fe14cceb8f86e9f to your computer and use it in GitHub Desktop.
Save Phoenix35/cd03a6a73cb9b3899fe14cceb8f86e9f to your computer and use it in GitHub Desktop.
JavaScript - where to start?

If you are completely new to JavaScript or programming in general, follow these steps:

0. Use an evergreen browser (Mozilla Firefox or Google Chrome)

  1. Install DevDocs desktop.
    In "Preferences", enable following documentation

    • CSS
    • DOM
    • DOM Events
    • ESLint
    • Git
    • HTML
    • HTTP
    • JavaScript
    • Node.js
    • npm
    • Support tables

    In "Offline Data", make sure to install all the documentation you enabled. It will be around 100 MB of data.
    This will be your go-to reference!

  2. If not already done, install a text editor / IDE suited for web development

    • VS Code
    • Webstorm
    • Sublime Text
  3. If not already done, install Node.js. I prefer the latest version but you can install LTS if you want (10 "Dubnium" as of writing)

  4. Configure your text editor / IDE to use ESLint. You might have to install it globally, refer to the documentation of your editor.

  5. Use this ESLint configuration for node projects and this (Work in Progress) one for browser projects.
    This programming style takes precedence over whatever practice is shown in the next resources.

  6. You are now set to start learning JS. Follow along these tutorials

    1. The Modern Javascript Tutorial. You may buy the ebook
    2. Eloquent JavaScript. You may buy the book (be sure it's the 3rd edition)

    There might be some redundant information between the two tutorials, but it's okay.

  7. Once you've finished both tutorials, you can follow on good practices.
    You may notice you already apply a lot of them simply because you followed the aforementioned tutorials and the ESLint configuration that was given.

Congratulations! You now have a solid programming basis on which you can start to build your projects. Have fun :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment