Giter VIP home page Giter VIP logo

learning-javascript's Introduction

Learning JavaScript

This repository contains a number of reading materials, coding tests, and practical examples of some of the core principles of JavaScript.

It is aimed at those with little to no understanding of the language, and will walk you through it's patterns and quirks.

JavaScript is much maligned, and often criticised for not being a 'real' language based on some of these quirks but in recent years JavaScript has become one of the most widely used languages.

Table of contents

  1. Introduction
  2. Working with the DOM
  3. Objects
  4. Arrays
  5. Typing
  6. Functions
  7. Inheritance
  8. Patterns
  9. Testing
  10. ES6 and beyond
  11. Quiz
  12. Exercise

Introduction

Covering the history of the development of JavaScript. A 101 for beginners.

See 1. Introduction/index.md to begin.

Working with the dom

An explanation of what the DOM is, and how to work with it to manipulate page behaviour. Useful for creating interactions on a web page.

See 2. Working with the DOM/index.md to begin.

Objects

Objects are incredibly important in JavaScript. This chapter goes into detail on why, and explains some of the notation and uses of objects in JavaScript.

See 3. Objects/index.md to begin.

Arrays

Array behaviour in JavaScript can differ from other, compiled languages. In this section those differences will be highlighted.

See 4. Arrays/index.md to begin.

Typing

JavaScript has loose typing, leading to some unexpected results and type coercion. These concepts and exceptions are explained in detail, including ways to limit these problems.

See 5. Typing/index.md to begin.

Functions

As an interpreted language, functions in JavaScript are incredibly important. This section also introduces the concept of closures and context shifting in JavaScript, and incredibly important feature.

See 6. Functions/index.md to begin.

### Inheritance Due to its prototypal nature, JavaScript handles Inheritance via a prototypal chain on objects. This can be leverages in different ways to create your applications.

See 7. Inheritance/index.md to begin.

Patterns

This section will detail a number of useful JavaScript patterns that will help shape applications and leverage some of the advantages of JavaScript. It will also detail the pros and cons of some of these patterns.

See 8. Patterns/index.md to begin.

Testing

JavaScript has a number of third-party libraries for Unit and End-to-End testing, all of which can help write TDD JavaScript.

See 9. Testing/index.md to begin.

ES6 and beyond

The original standard that JavaScript was developed on has grown and evolved with the evolution of ES5, ES6 and more. This section will explain those versions, as well as how they can be used to create more modern and maintainable JavaScript.

See 10. ES6 and beyond/index.md to begin.

Quiz

Test your knowledge with a multiple choice quiz, designed to put in practice the things you've learnt so far.

Open the html file 11. Quiz/index.html to get started.

Exercise

The summary of these learning materials is to complete 1 of 2 coding challenges. These tests will look to asses a number skills and challenge all the things you should have learnt so far, as well as looking for how you might structure a project. All the details and resources can be found in:

12. Exercie/index.md

Follow the instructions in the folder to complete and submit the test.

learning-javascript's People

Contributors

boyney123 avatar garystevens avatar

Watchers

Rocco avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.