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 FundamentalsDan Wellman12 Dec 2019
-
JavaScript for Web DesignersAdi 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 JavaScriptPeleke 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: AJAXJeremy McPeak16 Oct 2018
-
Practice JavaScript and Learn: Form ValidationJeremy McPeak14 Nov 2018
-
Practice JavaScript and Learn: FunctionsJeremy McPeak13 Dec 2018
-
Practice JavaScript and Learn: Object-Oriented ProgrammingJeremy McPeak16 Jan 2019
-
Practice JavaScript and Learn: The DOMJeremy McPeak29 Oct 2019
-
Practice JavaScript and Learn: EventsJeremy McPeak08 Nov 2019
-
Learn Functional Programming in JavaScriptJeremy 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 BootstrapJeremy McPeak12 Apr 2017
-
Introduction to jQueryJeremy McPeak02 Aug 2016
-
Write a jQuery PluginJeremy McPeak13 Jul 2016
-
Quick jQuery Projects for Web DesignersCraig Campbell02 Aug 2017
-
JavaScript Without jQueryJeremy 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 FundamentalsJeremy McPeak21 Oct 2021
-
Modern Web Apps With AngularJeremy McPeak26 Jun 2021
-
Get Started With Vue.js 3Jeremy McPeak24 Dec 2020
-
Build an Ambitious App With Ember 2Andrew Burgess29 Sep 2016
-
Get Started With MeteorAndrew Burgess09 Mar 2016
-
Introduction to StimulusJeremy McPeak04 Jul 2018
-
Faster Web Apps With the Svelte FrameworkJeremy 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 ScratchJeremy McPeak18 Jun 2018
-
Get Started With Node.js ExpressJeremy 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 ExpressAndrew Burgess11 Sep 2014
-
Connect the Web With WebSocketsDaniel Stern11 Sep 2015
-
Build APIs With GraphQLMarkus Mühlberger29 Jan 2018
-
Code a Front-End App With GraphQL and ReactMarkus Mühlberger19 Mar 2018
-
Rethinking APIs With FalcorDerek 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 VisualizationsTiffany France12 Oct 2016
-
How to Use the Google Drive APIReginald Dawson23 Nov 2016
-
Custom Interactive Maps With the Google Maps APIDavid East17 Jul 2014
-
How to Use the Google Maps APIReginald Dawson28 Mar 2017
-
How to Use the Google Calendar APIReginald 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 2Reginald Dawson21 Jun 2016
-
Mobile Apps With Ionic and FirebaseReginald 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 NativeMarkus Mühlberger19 Apr 2017
-
Build a Social App With React NativeMarkus 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 CordovaReginald Dawson20 Nov 2015
-
Publish an App With CordovaReginald 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 JavaScriptPeleke Sengstacke16 Oct 2021
-
Simple JavaScript Inheritance: What You Need to KnowDavid Catuhe16 Jun 2015
-
JavaScript: How to Embed Private Members Into an ObjectDavid Catuhe02 Jul 2015
-
Keeping Promises With JavaScriptStuart Memo21 Jan 2016
-
JavaScript Debugging Using Cross-Browser Source MapsDavid 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 ESLintDan Wellman02 Jun 2017
-
Instant Webpack 2Dan Wellman06 Jul 2017
-
Universal Module Loading With SystemJSDan Wellman11 Aug 2017
-
Essential Gulp TasksDan Wellman13 Feb 2017
-
Fix JavaScript Code Style With StandardJSDan 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.jsDerek Jensen06 Nov 2017
-
Five Practical Examples to Learn ReactJeremy McPeak18 Aug 2017
-
React Deep Dive: Build a React App With WebpackPavan Podila18 Jan 2016
-
Deep Dive Into Reactive Programming With RxJSAndrew Burgess01 Feb 2017
More JavaScript Courses
-
Functional Programming in JavaScriptJason Rhodes25 Mar 2015
-
Asynchronous ES6 With GeneratorsReginald Dawson03 Jun 2016
-
Create a New JavaScript FrameworkJason Green08 Sep 2016
-
JavaScript Refactoring TechniquesPavan Podila01 Aug 2016
-
Build an App From Scratch With JavaScript and the MEAN StackDerek Jensen26 Sep 2018
-
Learn Data Visualization With D3.jsMarkus Mühlberger30 Oct 2018
-
Interactive JavaScript Maps With LeafletCraig Campbell26 Nov 2018
-
Code a REST API With Koa and TypeScriptDerek 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.