Skip to content

afuhflynn/javascript_crash_course

Repository files navigation

JavaScript Crash Course

Banner image

Dive into practical and theoretical exercises to level up your JavaScript skills.

🚀 Getting Started

Clone & Fork

  1. Clone this repo

    git clone https://github.com/afuhflynn/javascript_crash_course.git
    cd javascript_crash_course
  2. Fork this repository on GitHub to contribute your own lessons or improvements.

  3. Open the course in your editor of choice and start learning! hint: Use (ctrl + shift + v for windows and linux) or (command + shift + v for mac) in VSCODE to preview the markdown files

Table of Contents

Introduction

Before we begin, first lets get ourselves familiar with what JavaScript is all about

  • JavaScript is a dynamic web (client side / frontend) programming language.

A brief history

JavaScript was developed by Brendan Eich, a developer at Netscape Communications Corporation, in 1995. Its initial development was very rapid, and much of the criti‐cism leveled at JavaScript has cited the lack of planning foresight during its development. However, Brendan Eich was not a dabbler: he had a solid foundation in computer science, and incorporated remarkably sophisticated and prescient ideas into JavaScript. In many ways, it was ahead of its time, and it took 15 years for main‐stream developers to catch on to the sophistication the language offered.

Interesting facts about JavaScript

JavaScript started life with the name Mocha, and was briefly named LiveScript before being officially renamed to JavaScript in a Netscape Navigator release in 1995. The word “Java” in “JavaScript” was not coincidental, but it is confusing: aside from a common syntactic ancestry, JavaScript has more in common with Self (a prototype-based language developed at Xerox PARC in the mid-’80s) and Scheme (a language developed in the 1970s by Guy Steele and Gerald Sussman, which was in turn heavily influenced by Lisp and ALGOL) than with Java. Eich was familiar with both Self and Scheme, and used some of their forward-thinking paradigms in developing JavaScript. The name JavaScript was partially a marketing attempt to tie into the success Java was enjoying at the time.1 In November 1996, Netscape announced that they had submitted JavaScript to Ecma, a private, international nonprofit standards organization that carries significant influence in the technology and communications industries. Ecma International published the first edition of the ECMA-26 specification, which was, in essence, JavaScript.

NOTES: In recent years JavaScript has gone from just a client side web programming language to powering one of the world's largest code editor (VS Code with the help of TypeScript and Electron Framework) and it has also gained popularity in the domains of mobile development and server side scripting with the help of Node.js.

Lesson 1: Variables & Data Types

Refer to lesson1/NOTES.md or lesson1/practicals.js

Lesson 2: Strings & Template Literals

Refer to lesson2/NOTES.md or lesson2/practicals.js

Lesson 3: Numbers & Math

Refer to lesson3/NOTES.md or lesson3/practicals.js

Lesson 4: Booleans & Logic

Refer to lesson4/NOTES.md or lesson4/practicals.js

Lesson 5: Control Flow & Loops

Refer to lesson5/NOTES.md or lesson5/practicals.js

Lesson 6: Arrays & Iterations

Refer to lesson6/NOTES.md or lesson6/practicals.js

Lesson 7: Objects & Prototypes

Refer to lesson7/NOTES.md or lesson7/practicals.js

Lesson 8: Expressions & Operators

Refer to lesson8/NOTES.md or lesson8/practicals.js

Lesson 9: Functions & Scope

Refer to lesson9/NOTES.md or lesson9/practicals.js

Lesson 10: Date Object

Refer to lesson10/NOTES.md or lesson10/practicals.js

Lesson 11: Math Module

Refer to lesson11/NOTES.md or lesson11/practicals.js

Lesson 12: DOM Manipulation

Refer to lesson12/NOTES.md or lesson12/practicals.js

Lesson 13: JavaScript Client Side Library (jQuery)

Refer to lesson13/NOTES.md or lesson13/practicals.js

Lesson 14: OOP in JavaScript

Refer to lesson14/NOTES.md or lesson14/practicals.js

Exercise Details

Check the exercises at: [Exercises.txt] or see solutions at: [solution.js]

🤝 Contributing

  1. Fork the repo
  2. Create a branch: git checkout -b feature/lessonX
  3. Add your lesson folder (lessonX/...)
  4. Commit: git commit -m "Add lessonX: <Topic>"
  5. Push: git push origin feature/lessonX
  6. Open a Pull Request

For more info read our contributing guide: CONTRIBUTING


📄 License

This project is licensed under the MIT License. See LICENSE for details.

Created with ♥️ by Afuh Flynn

About

A collection of what I know in js and my experience.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published