Last Updated on September 19, 2024
JavaScript is possibly one of the easiest language to get up and running with. But to truly master the language requires a firm foundation of its intricacies.
JavaScript is an interpreted, prototype-based, scripting computer programming language. It came to popular attention as a simple client-side scripting tool, interacting with the user using forms and controlling the web browser, and remains a front-end language for web applications.
JavaScript features dynamic types, it’s weakly typed, supports the structured programming syntax from C, uses prototypes instead of classes for inheritance, and copies many names and naming conventions from Java. It also borrows design principles from Scheme and Self, as well as concepts and syntax idioms such as C-style procedural roots.
Here’s our recommended tutorials to learn JavaScript. If you’re looking for free JavaScript programming books, check here.
1. Google JavaScript Style Guide by Google
This document serves as the complete definition of Google’s coding standards for source code in the JavaScript programming language. A JavaScript source file is described as being in Google Style if and only if it adheres to the rules herein.
2. JavaScript For Cats by Maxwell Ogden
JavaScript For Cats is an introduction for new programmers.
3. JavaScript Garden by Ivo Wetzel
JavaScript Garden is a collection of documentation about the most quirky parts of the JavaScript programming language. It gives advice to avoid common mistakes and subtle bugs, as well as performance issues and bad practices, that non-expert JavaScript programmers may encounter on their endeavours into the depths of the language.
4. JS Patterns by Shi Chuan
A JavaScript pattern and antipattern collection that covers function patterns, jQuery patterns, jQuery plugin patterns, design patterns, general patterns, literals and constructor patterns, object creation patterns, code reuse patterns, DOM and browser patterns (upcoming).
Website down
5. JavaScript – The Right Way by William Oliveira
This is a guide intended to introduce new developers to JavaScript and help experienced developers learn more about its best practices.
6. JavaScript Guide by MDN Web Docs
The JavaScript Guide shows you how to use JavaScript and gives an overview of the language.
7. The Modern JavaScript Tutorial by Ilya Kantor
Here we learn JavaScript, starting from scratch and go on to advanced concepts like object-oriented programming.
It concentrates on the language itself here, with the minimum of environment-specific notes.
8. Learn JavaScript – Full Course for Beginners by freeCodeCamp
This complete 134-part JavaScript tutorial for beginners will teach you everything you need to know to get started with the JavaScript programming language. The font-size in this tutorial is large, making it perfect for viewing on small screens.
9. Introduction to JavaScript by freeCodeCamp
This section covers basic JavaScript programming concepts, which range from variables and arithmetic to objects and loops.
10. Introduction to JavaScript by scrimba
This JavaScript tutorial course teaches you the language through 24 interactive screencasts. You’ll learn all the code concepts while doing coding challenges along the way.
All tutorials in this series:
Free Programming Tutorials | |
---|---|
ABAP | Advanced Business Application Programming |
Ada | ALGOL-like programming language, extended from Pascal and others |
Agda | Dependently typed functional language based on intuitionistic type theory |
Alice | Educational language with an integrated development environment |
Arduino | Inexpensive, flexible, open source microcontroller platform |
Assembly | As close to writing machine code without writing in pure hexadecimal |
Awk | Versatile language designed for pattern scanning and processing |
Bash | ‘Bourne-Again-SHell’ is both a shell and programming language |
BASIC | Family of general-purpose, high-level programming languages |
C | General-purpose, procedural, portable, high-level language |
C++ | General-purpose, portable, free-form, multi-paradigm language |
C# | Combines the power and flexibility of C++ with the simplicity of Visual Basic |
Chapel | Parallel-programming language in development at Cray Inc. |
Clojure | Dialect of the Lisp programming language |
ClojureScript | Compiler for Clojure that targets JavaScript |
COBOL | Common Business-Oriented Language |
CoffeeScript | A very succinct programming language that transcompiles into JavaScript |
Coq | Dependently typed language similar to Agda, Idris, F*, Lean, and others |
Crystal | General-purpose, concurrent, multi-paradigm, object-oriented language |
CSS | CSS (Cascading Style Sheets) specifies a web page’s appearance |
D | General-purpose systems programming language with a C-like syntax |
Dart | Client-optimized programming language for fast apps |
Dylan | Multi-paradigm language, supports functional & object-oriented programming |
ECMAScript | Best known as the language embedded in web browsers |
Eiffel | Object-oriented language |
Elixir | Relatively new functional language that runs on the Erlang virtual machine |
Elm | Functional language that compiles to JavaScript |
Emacs Lisp | A dialect of the Lisp programming language. |
Erlang | General-purpose, concurrent, declarative, functional language |
F# | General purpose, strongly typed, multi-paradigm language. Part of ML |
Factor | Dynamic stack-based language |
Forth | Imperative stack-based programming language |
Fortran | The first high-level language, using the first compiler |
GDScript | Godot’s built-in language for scripting and interacting with nodes |
Go | Compiled, statically typed programming language |
Groovy | Powerful, optionally typed and dynamic language |
Hack | For the HipHop Virtual Machine (HHVM), created as a dialect of PHP |
Haml | HTML Abstraction Markup Language |
Haskell | Standardized, general-purpose, polymorphically, statically typed language |
HTML | HyperText Markup Language |
Icon | High-level, general-purpose language |
Imba | Full-stack language that compiles to performant JavaScript |
J | Array programming language based primarily on APL |
Java | General-purpose, concurrent, class-based, object-oriented, high-level language |
JavaScript | Interpreted, prototype-based, scripting language |
Julia | High-level, high-performance language for technical computing |
Kotlin | Statically typed, general-purpose programming language with type inference |
LabVIEW | Designed to enable domain experts to build power systems quickly |
LaTeX | Professional document preparation system and document markup language |
Less | Backwards-compatible language extension for Cascading Style Sheets |
Limbo | Designed for applications running distributed systems on small computers |
Lisp | Unique features - excellent to study programming constructs |
Logo | Dialect of Lisp that features interactivity, modularity, extensibility |
Lua | Designed as an embeddable scripting language |
Markdown | Plain text formatting syntax designed to be easy-to-read and easy-to-write |
MoonScript | Dynamic scripting programmer friendly language that compiles into Lua |
Nim | Statically typed compiled systems language with syntax resembling Python |
Objective-C | General purpose language which is a superset of C |
OCaml | General-purpose, powerful, high-level language |
Octave | High-level language, primarily intended for numerical computations |
OpenCL | Open Computing Language |
Pascal | Imperative and procedural language designed in the late 1960s |
Perl | High-level, general-purpose, interpreted, scripting, dynamic language |
Pike | Interpreted, general-purpose, high-level, cross-platform, dynamic language |
PHP | PHP has been at the helm of the web for many years |
Pony | Pony is an actor-model, capabilities-secure, high-performance language |
PostScript | Page description language in electronic and desktop publishing |
Prolog | General purpose, declarative, logic programming language |
PureScript | Small strongly, statically typed language with expressive types |
Python | General-purpose, structured, powerful language |
QML | Hierarchical declarative language for user interface layout with a syntax to JSON |
R | De facto standard among statisticians and data analysts |
Racket | Platform for programming language design and implementation |
Raku | Member of the Perl family of programming languages |
Roff | Extensible text formatting language and a set of programs for printing |
Ruby | General purpose, scripting, structured, flexible, fully object-oriented language |
Rust | Ideal for systems, embedded, and other performance critical code |
Scala | Modern, object-functional, multi-paradigm, Java-based language |
Scheme | General-purpose, functional, language descended from Lisp and Algol |
Scratch | Visual programming language designed for 8-16 year-old children |
Solidity | Object-oriented, high-level language for implementing smart contracts |
SQL | Access and manipulate data held in a relational database management system |
Standard ML | One of the two main dialects of the ML language |
Swift | Powerful and intuitive general-purpose programming language |
Tcl | Dynamic language based on concepts of Lisp, C, and Unix shells |
TypeScript | Strict syntactical superset of JavaScript, adding optional static typing |
V | Statically typed compiled language to build maintainable software |
Vala | Object-oriented language with a self-hosting compiler that generates C code |
VHDL | Very High Speed Integrated Circuit Hardware Description Language |
VimL | Powerful scripting language of the Vim editor |
XML | Set of rules for defining semantic tags that describe the structure and meaning |
Zig | General-purpose programming language and toolchain |
I’ve been working through No.8, “The Modern JavaScript Tutorial” by Ilya Kantor – it’s pretty good, broken down into bite-sized lessons, and provides excellent explanations. You can easily get through the fundamentals – at least the first 20 lessons or so – just using the Chrome debugger, so it is easy to get started quickly without installing anything special to see if it suits you.
Continues right through into intermediate and advanced topics. There’s 93 lessons and counting!
Highly recommended.