Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/evavic44/learn-javascript

πŸ“š Personal JavaScript learning notes using the complete JavaScript course 2022: From zero to expert by Jonas Schmedtman
https://github.com/evavic44/learn-javascript

es6-javascript january-17 javascript learning learning-js roadmap tutorial web-development

Last synced: 3 months ago
JSON representation

πŸ“š Personal JavaScript learning notes using the complete JavaScript course 2022: From zero to expert by Jonas Schmedtman

Awesome Lists containing this project

README

        


JavaScript logo

Documenting my learning journey in JavaScript using The Complete JavaScript Course 2022: From Zero to Expert! by Jonas Schmedtman

## Resources

- The Complete JavaScript Udemy Course 2022: From Zero to Expert
- GitHub Repository

## Fundamentals Part OneπŸ”Έ

### 1. Introduction

- [What is JavaScript](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/00_introduction#what-is-javascript)
- [Hello World in JavaScript](https://github.com/Evavic44/Learn-JavaScript/blob/main/01-Fundamentals-Part-1/01_hello_world/Hello_world.js)
- [What do we use JavaScript for](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/01_hello_world#what-do-we-use-javascript-for)
- [JavaScript Releases](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/01_hello_world#javascript-releases)

### 2. How to link JavaScript file

- [Inline Linking](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/02_javascript_linking#inline-linking)
- [External Linking](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/02_javascript_linking#external-linking)

### 3. Values and Variables

- [Definition of Values](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/03_values_variables#values-and-variables)
- [Definition of Variables](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/03_values_variables#what-is-a-variable)
- [Variable Naming Convention](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/03_values_variables#variable-naming-conventions)
- [Rules and Reserved Keywords](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/03_values_variables#rules-in-naming-variables)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/blob/main/01-Fundamentals-Part-1/03_values_variables/script.js)

### 4. Data Types

- [Definition of Data Types](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/04_data_types#data-types)
- [The 7 Primitive Data Types](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/04_data_types#the-7-primitive-data-types)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/blob/main/01-Fundamentals-Part-1/04_data_types/script.js)

### 5. Let, Const, Var

- [Ways to declare a Variable](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/05_let_const_var#9-let-const-var)
- [When to use Var](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/05_let_const_var#when-to-use-javascript-var)
- [Let](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/05_let_const_var#let)
- [Const](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/05_let_const_var#const)
- [Let or Const](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/05_let_const_var#let-or-const)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/blob/main/01-Fundamentals-Part-1/05_let_const_var/script.js)

### 6. Operators

- [Basic Operators](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/06_basic_operators#10-basic-operators)
- [Arithimetic Operators](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/06_basic_operators#arithimetic-operators)
- [Assignment Operators](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/06_basic_operators#assignment-operator)
- [Comparison Operators](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/06_basic_operators#comparison-operators)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/blob/main/01-Fundamentals-Part-1/06_basic_operators/script.js)

### 7. Operator Precedence

- [Definition of Operator Precedence](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/07_operator_precedence#11-operator-precedence)
- πŸ”— [MDN Docs Reference](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#table)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/blob/main/01-Fundamentals-Part-1/07_operator_precedence/script.js)

### 8. Coding Challenge One πŸŽ‰

- [Coding Challenge](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/08_coding_challenge_1#-coding-challenge-1)
- [Solution](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/08_coding_challenge_1#-solution)

### 9. String & Template Literals

- [Strings](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/09_strings_template_literals#12-strings--template-literals)
- [Template Literals](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/09_strings_template_literals#12-strings--template-literals)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/blob/main/01-Fundamentals-Part-1/09_strings_template_literals/script.js)

### 10. Taking Decisions (If/Else)

- [Conditional Statements](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/10_taking_decisions_if_else_statements#13-conditional-statements---if-else)
- [If Statement](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/10_taking_decisions_if_else_statements#if-statement)
- [Else Statement](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/10_taking_decisions_if_else_statements#else-statement)
- [Else If Statement]()
- [Code File](https://github.com/Evavic44/Learn-JavaScript/blob/main/01-Fundamentals-Part-1/10_taking_decisions_if_else_statements/script.js)

### 11. Coding Challenge Two πŸŽ‰

- [Coding Challenge](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/11_coding_challenge_2#-coding-challenge-2)
- [Solution](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/11_coding_challenge_2#solution)

### 12. Type Conversion & Coercion

- [Definition](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/12_type_conversion_coercion#14-type-conversion-and-coercion)
- [Type Conversion](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/12_type_conversion_coercion#type-conversion)
- [Type Coercion](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/12_type_conversion_coercion#type-coercion)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/blob/main/01-Fundamentals-Part-1/12_type_conversion_coercion/script.js)

### 13. Truthy & Falsy Values

- [Definition of Truthy & Falsy Values]()
- [Code File](https://github.com/Evavic44/Learn-JavaScript/blob/main/01-Fundamentals-Part-1/13_truthy_falsy_values/script.js)

### 14. Equality Operator

- [Strict Equality Operator ===](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/14_equality_operators#15-equality-operators)
- [Loose Equality Operator ==](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/14_equality_operators#15-equality-operators)
- [Differential Equality Operator !==](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/14_equality_operators#different-operator)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/blob/main/01-Fundamentals-Part-1/14_equality_operators/script.js)

### 15. Boolean Logic

- [Defintion of Boolean Logic](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/15_boolean_logic#16-boolean-logic-and-or--not-operators)
- [AND Operator](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/15_boolean_logic#and-operator)
- [OR Operator](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/15_boolean_logic#or-operator)
- [NOT Operator](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/15_boolean_logic#not-operator)
- [How do Logical Operators Work?](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/15_boolean_logic#how-do-these-logical-operators-work)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/blob/main/01-Fundamentals-Part-1/15_boolean_logic/script.js)

### 16. Logical Operators

- [Definition of Logical Operators](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/16_logical_operators#17-logical-operators)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/blob/main/01-Fundamentals-Part-1/16_logical_operators/script.js)

### 17. Coding Challenge Three πŸŽ‰

- [Coding Challenge](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/17_coding_challenge_3#-coding-challenge-3)
- [Solution](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/17_coding_challenge_3#-solution)

### 18. Switch Statement

- [What are Switch Statements?](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/18_switch_statement#18-switch-statement)
- [Break](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/18_switch_statement#break)
- [Default](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/18_switch_statement#default)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/blob/main/01-Fundamentals-Part-1/18_switch_statement/script.js)

### 19. Statements & Expressions

- [Introduction to Statements & Expression](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/19_statements_expressions#19-statements--expressions)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/blob/main/01-Fundamentals-Part-1/19_statements_expressions/script.js)

### 20. Conditional (Ternary) Operator

- [Introduction to Ternary Operator](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/20_conditional_ternary_operator#20-conditional-ternary-operator)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/blob/main/01-Fundamentals-Part-1/20_conditional_ternary_operator/script.js)

### 21. Coding Challenge Four πŸŽ‰

- [Coding Challenge](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/21_coding_challenge_4#coding-challenge-4-)
- [Solution]()

### 22. JavaScript Releases (ES5, ES6+ and ESNext)

- [A Brief History of JavaScript](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/22_javascript_releases_ES5_ES6%2B_ESNext#a-brief-history-of-javascript)
- [ES6/ES2015 (ECMAScript 2015)](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/22_javascript_releases_ES5_ES6%2B_ESNext#2015)
- [Backwards Compatibility](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/22_javascript_releases_ES5_ES6%2B_ESNext#backwards-compatibility)
- [Forwards Compatibility](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/22_javascript_releases_ES5_ES6%2B_ESNext#forwards-compatibility)
- [Babel (Transpiler)](https://github.com/Evavic44/Learn-JavaScript/tree/main/01-Fundamentals-Part-1/22_javascript_releases_ES5_ES6%2B_ESNext#babel-transpiler)
- [Compaibility Table](https://kangax.github.io/compat-table/es6/)

## Fundamentals Part 2πŸ”Έ

Welcome to JavaScript Fundamentals part two.

### 01. Strict Mode

- [What is Strict Mode](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/00_strict_mode#what-is-strict-mode)
- [How to Enable Strict Mode](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/00_strict_mode#how-to-enable-strict-mode)
- [Importance and Examples](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/00_strict_mode#importance-and-examples)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/00_strict_mode/script.js)

### 02. Functions

- [What is a Function](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/01_functions#what-is-a-function)
- [Parameters and Arguments](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/01_functions#parameters-and-arguments)
- [Conclusion](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/01_functions#conclusion)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/01_functions/script.js)

### 03. Function Declaration vs Expressions

- [Function Declarations](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/02_functions_declarations_expressions#function-declaration)
- [Function Expressions](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/02_functions_declarations_expressions#function-expression)
- [Conclusion](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/02_functions_declarations_expressions#conclusion)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/02_functions_declarations_expressions/script.js)

### 04. Arrow Function

- [Arrow Function](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/03_arrow_function#arrow-function)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/03_arrow_function/script.js)

### 05. Function Calling other Functions

- [Functions calling other Functions](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/04_functions_calling_other_functions#reviewing-functions)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/04_functions_calling_other_functions/script.js)

### 06. Reviewing Functions

- [Reviewing Functions](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/05_reviewing_functions#reviewing-functions)
- [Summary](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/05_reviewing_functions#summary)
- [Anatomy of a Function](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/05_reviewing_functions#anatomy-of-a-function)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/05_reviewing_functions/script.js)

### 07. Coding Challenge Five πŸŽ‰

- [Coding Challenge](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/06_coding_challenge)
- [Solution](https://github.com/Evavic44/Learn-JavaScript/blob/main/02-Fundamentals-Part-2/06_coding_challenge/script.js)

### 08. Introduction to Arrays

- [Introduction to Arrays](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/07_introduction_to_arrays)
- [Exercise](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/07_introduction_to_arrays#exercise)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/blob/main/02-Fundamentals-Part-2/07_introduction_to_arrays/script.js)

### 09. Array Methods

- [Basic Array Operations (Methods)]()
- [push() Method](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/08_basic_array_operations#push-method)
- [unshift() Method](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/08_basic_array_operations#unshift-method)
- [pop() Method](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/08_basic_array_operations#pop-method)
- [shift() Method](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/08_basic_array_operations#shift-method)
- [indexOf() Method](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/08_basic_array_operations#indexOf-method)
- [includes() Method](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/08_basic_array_operations#includes-method)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/blob/main/02-Fundamentals-Part-2/08_basic_array_operations/script.js)

### 10. Coding Challenge Six πŸŽ‰

- [Coding Challenge](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/09_coding_challenge#coding-challenge)
- [Solution](https://github.com/Evavic44/Learn-JavaScript/blob/main/02-Fundamentals-Part-2/09_coding_challenge/script.js)

### 11. Introduction to Objects

- [Introduction to Objects](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/10_introduction_to_objects#introduction-to-objects)

### 12. Dots and Brackets Notations

- [How to retrieve elements from an object](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/11_dots_brackets_notations#how-to-retrieve-elements-from-an-object)
- [Dot Notation](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/11_dots_brackets_notations#how-to-retrieve-elements-from-an-object)
- [Bracket Notation](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/11_dots_brackets_notations#bracket-notation)
- [Dot Notation use case](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/11_dots_brackets_notations#situations-to-use-dot-notation)
- [Bracket Notation use case](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/11_dots_brackets_notations#bracket-notation-use-case)
- [Adding new properties to an object](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/11_dots_brackets_notations#adding-new-properties-to-an-object)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/11_dots_brackets_notations/script.js)

### 13. Object Methods

- [Definition of Objects](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/12_objects_methods#definition-of-objects)
- [Definition of Objects](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/12_objects_methods#challenge)
- [Definition of Objects](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/12_objects_methods/script.js)

### 14. Coding Challenge Seven πŸŽ‰

- [Coding Challenge](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/13_coding_challenge#coding-challenge)
- [Solution](https://github.com/Evavic44/Learn-JavaScript/blob/main/02-Fundamentals-Part-2/13_coding_challenge/script.js)

### 15. Iteraton the For Loop

- [Iteration - The for Loop](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/14_iteration_the_for_loop#Iteration:-the-for-Loop)
- [What are Loops](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/14_iteration_the_for_loop#what-are-loops)
- [Example](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/14_iteration_the_for_loop#example)
- [For Loop](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/14_iteration_the_for_loop#for-loop)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/14_iteration_the_for_loop/script.js)

### 16. Looping Arrays, Breaking & Continuing

- [Looping Arrays, Breaking and Continuing](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/15_looping_arrays_breaking_continuing#looping-arrays-breaking-and-continuing)
- [Looping Arrays Summary](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/15_looping_arrays_breaking_continuing#in-summary)
- [Continue and Break Statements](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/15_looping_arrays_breaking_continuing#continue-and-break-statements)
- [Example - Break](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/15_looping_arrays_breaking_continuing#example-break)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/15_looping_arrays_breaking_continuing/script.js)

### 17. Looping Backwards and Loops in Loops

- [Looping Backwards](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/16_looping_backwards_loops_in_loops/#looping-backwards)
- [Loops in Loops](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/16_looping_backwards_loops_in_loops/#looping-in-loops)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/16_looping_backwards_loops_in_loops/script.js)

### 18. While Loop

- [Overview](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/17_while_loop/#while-loop)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/17_while_loop/script.js)

### 14. Coding Challenge Eight πŸŽ‰

- [Coding Challenge](https://github.com/Evavic44/Learn-JavaScript/tree/main/02-Fundamentals-Part-2/18_coding_challenge#coding-challenge)
- [Solution](https://github.com/Evavic44/Learn-JavaScript/blob/main/02-Fundamentals-Part-2/18_coding_challenge/script.js)

## Developer SkillsπŸ”Έ

- [Coding Challenge](https://github.com/Evavic44/Learn-JavaScript/tree/main/03-Developer-skills/challenge.js)
- [How to effectively solve problems](https://github.com/Evavic44/Learn-JavaScript/tree/main/03-Developer-skills/#how_to_effectively_solve_problems)
- [What is a Software Bug](https://github.com/Evavic44/Learn-JavaScript/tree/main/03-Developer-skills/#what-is-a-software-bug?)
- [Debugging with console and Breakpoints](https://github.com/Evavic44/Learn-JavaScript/tree/main/03-Developer-skills/#debugging-with-console-and-breakpoints)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/tree/main/03-Developer-skills/script.js)

## Guess My Number GameπŸ”Έ

- [What is DOM and DOM Manipulation](https://github.com/Evavic44/Learn-JavaScript/tree/main/05-guess-my-number/#what-is-dom-and-dom-manipulation)
- [DOM !== JavaScript](https://github.com/Evavic44/Learn-JavaScript/tree/main/05-guess-my-number/#dom-!==-javascript)
- [Selecting and Manipulating Elements](https://github.com/Evavic44/Learn-JavaScript/tree/main/05-guess-my-number/#dom-!==-javascript)
- [Handling Click Events (Event Listener)](https://github.com/Evavic44/Learn-JavaScript/tree/main/05-guess-my-number/#handling-click-events-event-listener)
- [Implementing the Game Logic](https://github.com/Evavic44/Learn-JavaScript/tree/main/05-guess-my-number/#implementing-the-game-logic)
- [Coding Challenge](https://github.com/Evavic44/Learn-JavaScript/tree/main/05-guess-my-number/#coding-challenge)
- [Refactoring](https://github.com/Evavic44/Learn-JavaScript/tree/main/05-guess-my-number/#refactoring)

## Modal

- [How to create a modal with JavScript](https://github.com/Evavic44/Learn-JavaScript/tree/main/06-modal-window/#how-to-create-a-simple-modal-with-javascript)
- [Modal Functionality](https://github.com/Evavic44/Learn-JavaScript/tree/main/06-modal-window/#modal-functionality)
- [Manipulating classes with JavScript](https://github.com/Evavic44/Learn-JavaScript/tree/main/06-modal-window/#manipulating-classes-with-JavScript)
- [Close Modal](https://github.com/Evavic44/Learn-JavaScript/tree/main/06-modal-window/#close-modal-when-overlay-is-clicked)
- [Refactoring](https://github.com/Evavic44/Learn-JavaScript/tree/main/06-modal-window/#refactoring)
- [Handle Events on keypress](https://github.com/Evavic44/Learn-JavaScript/tree/main/06-modal-window/#handle-events-on-keypress)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/tree/main/06-modal-window/script.js)

## Building a Pig Game 🐷

- [Build a pig game using JavaScript](https://github.com/Evavic44/Learn-JavaScript/tree/main/07-pig-game/#how-to-create-a-simple-modal-with-javascript)
- [What are flowcharts?](https://github.com/Evavic44/Learn-JavaScript/tree/main/07-pig-game/#building-a-pig-game)
- [Selecting the Elements](https://github.com/Evavic44/Learn-JavaScript/tree/main/07-pig-game/#selecting-the-elements)
- [Generate a random dice roll](https://github.com/Evavic44/Learn-JavaScript/tree/main/07-pig-game/#generate-a-random-dice-roll)
- [Refactoring](https://github.com/Evavic44/Learn-JavaScript/tree/main/07-pig-game/#refactoring)
- [Display the dice](https://github.com/Evavic44/Learn-JavaScript/tree/main/07-pig-game/#display-the-dice)
- [Switcing the players](https://github.com/Evavic44/Learn-JavaScript/tree/main/07-pig-game/#switch-the-players)
- [Code File](https://github.com/Evavic44/Learn-JavaScript/tree/main/07-pig-game/script.js)

## How JavaScript works behind the scenes

- [An Hight level overview of JavaScript]()
- [The JavaScript Engine]()
- [Compilation vs Intepretation]()
- [Intepreted or Just in Time Compilation (JIT)]()
- [The JavaScript Runtime]()
- [The this keyword]()
- [Regular functions vs Arrow Functions]()
- [Primitive vs Objects]()

## Data Structure, Modern Operators and Strings

- [Destructuring Arrays]()
- [Destructuring Objects]()
- [Spread Operators]()
- [Rest Patterns and Parameters]()
- [Short Circuting (OR ||)]()
- [Nullish Coalescing Operator]()
- [Coding Challenge]()
- [Looping Arrays (For of Loop)]()
- [Enhanced Object Literals]()
- [Optional Chaining]()
- [Looping Objects, Keys, Values and Entries]()
- [Coding Challenge 2]()
- [Sets]()
- [Maps Fundamentals]()
- [Maps Iteration]()
- [Summary: Which Data Structure to Use]()
- [Coding Challenge 3]()
- [Working with Strings - Part 1]()
- [Working with Strings - Part 2]()
- [Working with Strings - Part 3]()

## A Closer Look at Functions

- [Default Parameters]()
- [How Passing Arguments Work (Value vs Reference)]()
- [First Class and Higher Order Functions]()
- [Function Accepting Callback Functions]()
- [Functions Returning Functions]()
- [The Call and Apply Method]()
- [The Bind Method]()
- [Coding Challenge 1 πŸŽ‰]()
- [Immediately Invoked Function Expression (IIFE)]()
- [Closures]()
- [Closures Example]()
- [Coding Challenge 2 πŸŽ‰]()

## Working with Arrays