Along with HTML and CSS, JavaScript is one of the core technologies of the web. The majority of websites use it, and all modern web browsers support it without the need for plugins. It's got a huge community, and the ecosystem is evolving rapidly. If you want to be a web developer, learn JavaScript. And if you want to learn JavaScript, you're in the right place!
We've built a comprehensive guide to help you learn JS development online, whether you're just getting started as a web developer or you want to explore more advanced topics such as using the newest frameworks or even building your own! This Learning Guide will help you:
- Learn the fundamentals of the JavaScript language.
- Get started coding for the web with jQuery.
- Build websites and apps using front-end frameworks such as React, Angular, and Vue.
- Learn Node.js, and write JavaScript for the server.
- Develop cross-platform mobile apps with Ionic and React Native.
- Go further with JavaScript and keep your skills sharp.
1. What Is JavaScript?
You've likely heard JavaScript referred to as "a client-side language", which is another way of saying that it's a programming language that runs in a web browser. Actually, it's the language that runs in the browser—if you want to make an interactive web page, JavaScript is the language to use.
Wikipedia defines it this way:
JavaScript is a high-level, dynamic, untyped, and interpreted programming language. It has been standardized in the ECMAScript language specification.
- High-Level. When a programming language is high-level, you can code it without needing to know details about the host computer. You don't have to manage memory, you don't have to know what type of processor is running, and you don't have to deal with things like pointers (such as in languages like C or Assembly).
- Dynamic. Languages that are dynamic allow developers to add new code or change the structure of objects while the program is running. This is a powerful feature of JavaScript, and it makes possible frameworks that can adapt the language to very different contexts and ways of working.
- Untyped. If you have any programming experience, then you've likely come across statically typed languages that require you to declare the type of variables. In contrast, untyped languages are much more flexible about how types are used and defined. For example, in JavaScript you could pass either a string or a number to the same JavaScript function, or you could have a JavaScript array that stores data of mixed types.
- Interpreted. In compiled languages, the code you write must be converted to a machine-readable form before it can be run. But JavaScript is interpreted (just like PHP), meaning that there is no compiler. Instead, the code is run by an intermediary piece of software called an interpreter (in this case, it is part of the web browser). The interpreter reads your code and converts it to machine instructions. Most high-level languages are interpreted, and most interpreted languages are high-level.
- Standardized. JavaScript is standardized (its official name being ECMAScript) which means that it will work the same in any browser. This wasn't always the case; in the early years of JavaScript it used to work a bit differently from browser to browser.
If you want to learn more about the structure of the language and how to use JavaScript, check out our tutorial.
Why Learn Javascript?
JavaScript is one of the most popular and dynamic languages in use today, allowing the creation of rich experiences delivered via the web to desktops, tablets and mobile devices. It's a first class language with a rich and vibrant ecosystem and an enthusiastic community dedicated to its continual development.
2. JavaScript Fundamentals
If you're learning JavaScript for the first time then you'll want a course that starts at the very beginning and covers everything about the language that a beginner needs to know. Whether you're completely new to coding, or you're coming to JavaScript from another language, our Modern JavaScript Fundamentals course goes through everything you need to get up and running with one of the most popular and dynamic languages in use today. It's the best way to learn JavaScript!
If you're a web designer who's just getting started with JavaScript basics then you should check out JavaScript for Web Designers to learn to code JavaScript from a web designer’s perspective.
Modern JavaScript Fundamentals
Dan Wellman12 Dec 2019
JavaScript for Web Designers
Adi Purdila01 Dec 2016
You should also check out our JS courses specifically aimed at web designers.

The Designer’s Guide to JavaScript Optimization

Handy JavaScript Plugins for Web Designers

You Don’t Need jQuery for That

Essential JS Libraries for UI (User Interfaces)

Building JavaScript Websites With Meteor

3 JavaScript Projects for Beginners
If you want to learn more about the structure of JavaScript and how it works, check out our free js tutorials.
What's the Difference Between Java and JavaScript?
Tom McFarlin17 May 2016
Grokking Scope in JavaScript
Peleke Sengstacke16 Sep 2016
Practice JavaScript and Learn
If you already know the basics of JavaScript and have created some simple scripts or apps, you might be wondering about your next step. To keep growing as a JavaScript coder, you need to keep learning and practicing new skills.
Practice JavaScript and Learn: AJAX
Jeremy McPeak16 Oct 2018
Practice JavaScript and Learn: Form Validation
Jeremy McPeak14 Nov 2018
Practice JavaScript and Learn: Functions
Jeremy McPeak13 Dec 2018
Practice JavaScript and Learn: Object-Oriented Programming
Jeremy McPeak16 Jan 2019
Practice JavaScript and Learn: The DOM
Jeremy McPeak29 Oct 2019
Practice JavaScript and Learn: Events
Jeremy McPeak08 Nov 2019
Learn Functional Programming in JavaScript
Jeremy McPeak24 Apr 2020
Learn jQuery
First released in 2006 by John Resig, jQuery set out to be a cross-platform JavaScript library that makes it easier to write JavaScript code for the browser.
At the time it was released, it was especially useful because of the inconsistencies that existed among JavaScript implementations in older versions of Internet Explorer, Firefox, and eventually Google Chrome (which wasn't released until 2008).
As described by the jQuery website:
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript.
Learn more about jQuery and how it's used in our tutorial.
jQuery has been a part of the JavaScript ecosystem for a long time and has been used in a number of very popular projects (such as WordPress), so it's a great way to kick off your JavaScript learning and start programming for the web. In these courses, you'll learn everything you need to know to get started using jQuery in your projects.
How to Become a Web Developer: jQuery and Bootstrap
Jeremy McPeak12 Apr 2017
Introduction to jQuery
Jeremy McPeak02 Aug 2016
Write a jQuery Plugin
Jeremy McPeak13 Jul 2016
Quick jQuery Projects for Web Designers
Craig Campbell02 Aug 2017
JavaScript Without jQuery
Jeremy McPeak28 Nov 2016
3. Front-End Frameworks
While the number of ways to organise a JavaScript project are almost infinite, JavaScript frameworks can help you give structure to your code and make it more flexible and scalable. There are a number of popular JavaScript frameworks you can choose to use, but deciding between them can be difficult.
Our JavaScript course Comparing Front-End Frameworks can help you make an informed choice. Experiment with each framework, get a feel for how it works, and decide which one is best suited for your project needs or style of programming.
You can also find out which front-end framework you should learn by taking our quiz!
Get Started in the Front-End
We have courses and tutorials to help you learn and develop your skills with all of the major front-end JavaScript frameworks. If you're interested in learning more about React, Angular, or Vue we have full Learning Guides dedicated to them.
Practical React Fundamentals
Jeremy McPeak21 Oct 2021
Modern Web Apps With Angular
Jeremy McPeak26 Jun 2021
Get Started With Vue.js 3
Jeremy McPeak24 Dec 2020
Build an Ambitious App With Ember 2
Andrew Burgess29 Sep 2016
Get Started With Meteor
Andrew Burgess09 Mar 2016
Introduction to Stimulus
Jeremy McPeak04 Jul 2018
Faster Web Apps With the Svelte Framework
Jeremy McPeak31 Jul 2019
4. Back-End Frameworks
Node.js
Node.js is an open-source, cross-platform JavaScript runtime environment that takes JavaScript out of the browser. One of the reasons Node.js is so popular is that it allows you to write web servers and other programs in JavaScript.
As you'll see, it's similar to JavaScript in the browser; however, it isn't all the same. For example, with Node.js, you can read and write files on the hard drive from JavaScript! There are many new patterns and features that you'll learn in our courses: Node.js From Scratch and Get Started With Node.js Express.
Node.js From Scratch
Jeremy McPeak18 Jun 2018
Get Started With Node.js Express
Jeremy McPeak13 Aug 2018
More Back-End Resources
Express is the most popular back-end framework for Node.js and JavaScript. Express makes it easy to create a web server with pure JavaScript, allowing you to write full-stack JavaScript apps—apps that use the same language on the front- and back-ends.
WebSockets are another great full-stack tool. They enable fast asynchronous communication between the browser and server.
GraphQL is designed to work with data represented by a graph, and it has a powerful query syntax for traversing, retrieving, and mutating data. Learn how to build a back-end GraphQL API in our course.
Getting Started with Express
Andrew Burgess11 Sep 2014
Connect the Web With WebSockets
Daniel Stern11 Sep 2015
Build APIs With GraphQL
Markus Mühlberger29 Jan 2018
Code a Front-End App With GraphQL and React
Markus Mühlberger19 Mar 2018
Rethinking APIs With Falcor
Derek Jensen16 Jan 2017
5. Front-End Libraries
JavaScript libraries provide helper functions, objects, and modules which your application code calls for specific functionality. Learn how to use some of the most popular front-end libraries in these courses.
Building D3 Data Visualizations
Tiffany France12 Oct 2016
How to Use the Google Drive API
Reginald Dawson23 Nov 2016
Custom Interactive Maps With the Google Maps API
David East17 Jul 2014
How to Use the Google Maps API
Reginald Dawson28 Mar 2017
How to Use the Google Calendar API
Reginald Dawson11 May 2017
6. Cross-Platform Mobile
Cross-platform mobile development has the advantage of letting you creating mobile apps that feature a polished user experience similar to a native app, while allowing you to share the same code across multiple platforms.
The most popular cross-platform frameworks tend to be those built on successful front-end frameworks such as Angular and React. Make your mobile development more efficient and learn cross-platform mobile development with our courses.
Ionic 2
The Ionic framework is one of the most popular projects on GitHub. By letting web developers use their existing skills to make apps for mobile devices, Ionic has enabled a whole generation of apps. One of the reasons for Ionic's success is that it builds on the popular Angular web framework.
Get Started With Ionic 2
Reginald Dawson21 Jun 2016
Mobile Apps With Ionic and Firebase
Reginald Dawson30 Jul 2015
You can also check out our series of Coffee Break Courses on Ionic.
React Native
Created by Facebook, React Native tries to bridge the gap between a native application and a web-based mobile application. It does this by letting you write your user interface in modern JavaScript and automatically transforming it into native views specific to your supported platforms. We have several courses to get you started with React Native.
Get Started With React Native
Markus Mühlberger19 Apr 2017
Build a Social App With React Native
Markus Mühlberger19 Jun 2017
Cordova
The Cordova platform is a cross-platform framework for building apps. Instead of building an app with native languages like Java or Objective-C, you can build it with familiar web technologies and bundle it in a native container for your target platform. Cordova allows you to build apps for Android and iOS, as well as Amazon Fire, BlackBerry, Firefox, and Ubuntu.
Despite using web technologies, Cordova has robust support for using the features and facilities of a mobile environment. Learn Cordova in this course by building a simple app.
Building an App With Cordova
Reginald Dawson20 Nov 2015
Publish an App With Cordova
Reginald Dawson06 Jan 2016
7. Go Further With JS
Want to go further with JavaScript? We regularly publish new javascript tutorials to help you learn JS online, here are some to get you started.
How to Use Map, Filter, and Reduce in JavaScript
Peleke Sengstacke16 Oct 2021
Simple JavaScript Inheritance: What You Need to Know
David Catuhe16 Jun 2015
JavaScript: How to Embed Private Members Into an Object
David Catuhe02 Jul 2015
Keeping Promises With JavaScript
Stuart Memo21 Jan 2016
JavaScript Debugging Using Cross-Browser Source Maps
David Rousset30 Jul 2015
There's always more to learn, so why not check out our Learning Guide on Data Structures in JavaScript or some of our more advanced courses?
Tooling
Tooling is an important part of the JavaScript ecosystem—though the variety of competing products can be overwhelming. In these courses you'll learn how to integrate some key JavaScript tools to automate tasks like minification, ensuring code quality, and transpiling to older versions of JavaScript.
Modern JavaScript Linting With ESLint
Dan Wellman02 Jun 2017
Instant Webpack 2
Dan Wellman06 Jul 2017
Universal Module Loading With SystemJS
Dan Wellman11 Aug 2017
Essential Gulp Tasks
Dan Wellman13 Feb 2017
Fix JavaScript Code Style With StandardJS
Dan Wellman18 Jan 2017
Practical Projects
Practical projects are a great way to learn a new concept or technology. In these courses, you'll get to sharpen your skills by putting them to work by building useful web apps.
Code a Quiz App With Vue.js
Derek Jensen06 Nov 2017
Five Practical Examples to Learn React
Jeremy McPeak18 Aug 2017
React Deep Dive: Build a React App With WebpackPavan Podila18 Jan 2016
Deep Dive Into Reactive Programming With RxJS
Andrew Burgess01 Feb 2017
More JavaScript Courses
Functional Programming in JavaScript
Jason Rhodes25 Mar 2015
Asynchronous ES6 With Generators
Reginald Dawson03 Jun 2016
Create a New JavaScript Framework
Jason Green08 Sep 2016
JavaScript Refactoring TechniquesPavan Podila01 Aug 2016
Build an App From Scratch With JavaScript and the MEAN Stack
Derek Jensen26 Sep 2018
Learn Data Visualization With D3.js
Markus Mühlberger30 Oct 2018
Interactive JavaScript Maps With Leaflet
Craig Campbell26 Nov 2018
Code a REST API With Koa and TypeScript
Derek Jensen30 Apr 2019
8. Learn JavaScript Online
This Learning Guide will continue to be updated with all the latest and greatest JavaScript training tutorials and courses to help you stay at the very top of your game!
To keep up with all the JavaScript content we publish, remember to sign up to our weekly digests to get a comprehensive summary of all our new code tutorials each week, follow @TutsPlusCode on Twitter, and like the Envato Tuts+ Code page on Facebook.










