Skip to content

JavaScript Core Course

enki-hq edited this page Jun 23, 2020 · 21 revisions

Core Course Overview

Table of Contents

Content

Below you can find the ordered content of the topic, in a linear progression

The linear progression of content aims to cover all content, course by course, workout by workout as follows:

  • first course is the only core one, denoted by its manifest
  • the next course is denoted by the first item of the next array in each course manifest
  • each course has its order of workouts designated by the sections field in the same aforementioned manifest

Insights:

no name content aspects standards PQ RQ Quiz done
1 why-learn-javascript 👶 introduction
2 javascript-basics-part-1 👶 introduction
3 javascript-basics-part-2 👶 introduction
4 console-in-javascript 👶 introduction

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

2. types

Insights:

no name content aspects standards PQ RQ Quiz done
1 types-introduction 👶 introduction
2 weak-vs-strict-equality-operator 👶 introduction
💪 workout
🔮 obscura
3 types-undefined-and-null 👶 introduction
💪 workout
🔮 obscura
4 types-boolean-and-number 👶 introduction
💪 workout
🔮 obscura
5 the-difference-between-null-undefined-and-nan 👶 introduction
💪 workout
🔮 obscura

Exercises:

⚠️ There are no insights in this workout.

Game:

name type aspects standards done
taking-precedence fillTheGap 💪 workout javascript-syntax.2: 1000
write-expressions.0: 1000
evaluate-expressions.0: 1000

Insights:

no name content aspects standards PQ RQ Quiz done
1 if-statement 👶 introduction
2 js-switch-statement 👶 introduction
3 loops-part-1 👶 introduction
4 loops-part-2 👶 introduction
💪 workout
5 data-type-comparison-in-switch-statements 👶 introduction
💪 workout

Exercises:

no name type aspects standards done
1 js-practice-glitch-if glitch 👶 introduction javascript-syntax.2: 1000
control-flow.1: 1000
2 js-practice-if-else codewars 👶 introduction
💪 workout
control-flow.0: 1000
control-flow.1: 1000
control-flow.5: 1000
write-expressions.0: 1000
3 js-practice-switch-case codewars 👶 introduction control-flow.0: 1000
control-flow.2: 1000
control-flow.5: 1000
write-expressions.0: 1000
4 js-practice-for-loops glitch 👶 introduction control-flow.0: 1000
control-flow.3: 1000
control-flow.5: 1000
write-expressions.0: 1000
5 js-practice-while-loops codewars 👶 introduction control-flow.0: 1000
control-flow.4: 1000
control-flow.5: 1000
write-expressions.0: 1000

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 declaring-functions 👶 introduction
2 function-arguments 👶 introduction
💪 workout
3 access-a-function-s-arguments-as-an-array 👶 introduction
💪 workout
4 functions-can-be-declared-after-use 👶 introduction
💪 workout
functions.8: 10
5 setting-default-values-with-short-circuiting 👶 introduction
💪 workout

Exercises:

no name type aspects standards done
1 js-practice-glitch-functions glitch 👶 introduction
💪 workout
data-types-structures.3: 1000
data-types-structures.4: 1000
evaluate-expressions.6: 1000
standard-library.4: 1000
2 js-practice-functions codewars 👶 introduction
💪 workout
data-types-structures.0: 1000
data-types-structures.1: 1000
write-expressions.0: 1000
evaluate-expressions.0: 1000

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 javascript-history 👶 introduction
🔮 obscura
2 javascript-or-ecmascript 👶 introduction
🔮 obscura
3 infix-operators-are-left-associative 🔮 obscura
4 strict-mode 👶 introduction
🔮 obscura
javascript-syntax.2: 10

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

6. arrays

Insights:

no name content aspects standards PQ RQ Quiz done
1 arrays 👶 introduction
💪 workout
2 setting-the-length-of-an-array 👶 introduction
💪 workout
🔮 obscura
data-types-structures.3: 10
data-types-structures.4: 10
3 splice 👶 introduction
💪 workout
🔮 obscura
4 arrays-can-be-used-as-stack 👶 introduction
💪 workout

Exercises:

no name type aspects standards done
1 js-practice-glitch-array glitch 👶 introduction
💪 workout
data-types-structures.3: 1000
data-types-structures.4: 1000
evaluate-expressions.6: 1000
2 js-practice-glitch-array-access glitch 👶 introduction
💪 workout
data-types-structures.3: 1000
data-types-structures.4: 1000
evaluate-expressions.6: 1000
3 js-practice-glitch-array-for-loop glitch 👶 introduction
💪 workout
data-types-structures.3: 1000
data-types-structures.4: 1000
evaluate-expressions.6: 1000
control-flow.3: 1000
4 js-practice-arrays glitch 👶 introduction
💪 workout
evaluate-expressions.6: 1000
evaluate-expressions.7: 1000
data-types-structures.2: 1000
data-types-structures.3: 5000
data-types-structures.4: 5000
data-types-structures.6: 3000
write-expressions.0: 5000
5 js-practice-array-isarray codewars 👶 introduction
💪 workout
standard-library.4: 1000
write-expressions.0: 1000
evaluate-expressions.10: 1000
6 js-practice-array-push codewars 👶 introduction
💪 workout
evaluate-expressions.6: 1000
evaluate-expressions.7: 1000
standard-library.4: 1000
write-expressions.0: 1000
7 js-practice-array-splice codewars 👶 introduction
💪 workout
evaluate-expressions.6: 1000
evaluate-expressions.7: 1000
standard-library.4: 1000
write-expressions.0: 1000

Game:

name type aspects standards done
foo-features-and-fun-facts fillTheGap 👶 introduction
💪 workout
evaluate-expressions.1: 1000
evaluate-expressions.3: 1000
evaluate-expressions.5: 1000
evaluate-expressions.7: 1000
evaluate-expressions.8: 1000
evaluate-expressions.9: 1000

Insights:

no name content aspects standards PQ RQ Quiz done
1 object-part-1 👶 introduction
💪 workout
2 object-part-2 👶 introduction
💪 workout
3 deleting-properties 👶 introduction data-types-structures.3: 10
data-types-structures.4: 10
evaluate-expressions.6: 10
evaluate-expressions.7: 10
4 hasownproperty-method 👶 introduction data-types-structures.3: 10
data-types-structures.4: 10
evaluate-expressions.6: 10
evaluate-expressions.7: 10
5 converting-to-and-from-json 👶 introduction
💪 workout

Exercises:

no name type aspects standards done
1 js-practice-objects codewars 👶 introduction
💪 workout
data-types-structures.2: 1000
data-types-structures.3: 1000
data-types-structures.4: 1000
write-expressions.0: 1000
evaluate-expressions.6: 10
evaluate-expressions.7: 10

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 truthy-falsy 👶 introduction
💪 workout
2 truthy-falsy-gotchas 👶 introduction
💪 workout
javascript-syntax.2: 10
evaluate-expressions.3: 10
evaluate-expressions.10: 10
evaluate-expressions.5: 10
evaluate-expressions.4: 10
3 be-careful-when-using-typeof 👶 introduction
💪 workout
evaluate-expressions.10: 10

Exercises:

⚠️ There are no insights in this workout.

Game:

name type aspects standards done
you-can-t-handle-the-truth tetris 👶 introduction
💪 workout
javascript-syntax.2: 1000
evaluate-expressions.3: 1000
evaluate-expressions.5: 1000
evaluate-expressions.4: 1000
evaluate-expressions.10: 1000

Insights:

no name content aspects standards PQ RQ Quiz done
1 double-and-single-quotes 🔮 obscura
👶 introduction
2 types-string 👶 introduction
3 string-replace 👶 introduction
💪 workout

Exercises:

no name type aspects standards done
1 js-practice-glitch-length glitch javascript-syntax.1: 1000
javascript-syntax.2: 1000
write-expressions.0: 1000
evaluate-expressions.2: 1000
standard-library.0: 1000
2 js-practice-glitch-log-variable glitch javascript-syntax.1: 1000
javascript-syntax.2: 1000
write-expressions.0: 1000
evaluate-expressions.2: 1000
3 js-practice-glitch-strings glitch javascript-syntax.1: 1000
javascript-syntax.2: 1000
write-expressions.0: 1000
evaluate-expressions.2: 1000
standard-library.0: 1000
4 js-practice-strings-2 glitch javascript-syntax.1: 1000
javascript-syntax.2: 1000
write-expressions.0: 1000
evaluate-expressions.2: 1000
standard-library.0: 1000
5 js-practice-string-methods-replace glitch standard-library.0: 1000
javascript-syntax.1: 1000
javascript-syntax.2: 1000
write-expressions.0: 1000
6 js-practice-double-and-single-quotes glitch javascript-syntax.1: 1000
javascript-syntax.2: 1000
write-expressions.0: 1000
evaluate-expressions.2: 1000

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 multi-line-string-variables 👶 introduction
💪 workout
2 most-efficient-way-to-build-html-strings 👶 introduction
💪 workout
🔮 obscura
3 using-test-with-regexp 👶 introduction
💪 workout

Exercises:

no name type aspects standards done
1 js-practice-string-slice codewars 👶 introduction
💪 workout
standard-library.0: 1000
write-expressions.0: 1000
2 js-practice-string-indexof codewars 👶 introduction
💪 workout
standard-library.0: 1000
write-expressions.0: 1000
3 js-practice-string-concat codewars 👶 introduction
💪 workout
standard-library.0: 1000
write-expressions.0: 1000
4 js-practice-string-touppercase codewars 👶 introduction
💪 workout
standard-library.0: 1000
write-expressions.0: 1000
5 js-practice-string-charat codewars 👶 introduction
💪 workout
standard-library.0: 1000
write-expressions.0: 1000
6 js-practice-string-trim codewars 👶 introduction
💪 workout
standard-library.0: 1000
write-expressions.0: 1000

Game:

⚠️ There is no game in this workout.

11. numbers

Insights:

no name content aspects standards PQ RQ Quiz done
1 base-conversion 👶 introduction
💪 workout
🔮 obscura
data-types-structures.0: 10
standard-library.2: 10
2 inaccuracy-of-binary-floating-point-format 💪 workout
🦑 deep
🔮 obscura
data-types-structures.0: 10
standard-library.2: 10
evaluate-expressions.1: 10
3 parsing-numbers-and-ieee-754 💪 workout
🦑 deep
🔮 obscura
data-types-structures.0: 10
standard-library.2: 10
evaluate-expressions.1: 10
4 nan-is-a-number 👶 introduction
🦑 deep
🔮 obscura
evaluate-expressions.1: 10

Exercises:

no name type aspects standards done
1 js-practice-number-tostring glitch 👶 introduction
💪 workout
standard-library.1: 1000
standard-library.2: 1000
write-expressions.0: 1000
evaluate-expressions.0: 1000
2 js-practice-math-max codewars 👶 introduction
💪 workout
standard-library.1: 1000
write-expressions.0: 1000
3 js-practice-math-pow codewars 👶 introduction
💪 workout
standard-library.1: 1000
write-expressions.0: 1000
4 js-practice-math-log codewars 👶 introduction
💪 workout
standard-library.1: 1000
write-expressions.0: 1000
5 js-practice-math-random codewars 👶 introduction
💪 workout
standard-library.1: 1000
write-expressions.0: 1000

Game:

name type aspects standards done
infinity-game fillTheGap 👶 introduction
💪 workout
data-types-structures.0: 1000
standard-library.2: 1000
evaluate-expressions.1: 1000

Insights:

no name content aspects standards PQ RQ Quiz done
1 get-a-random-item-from-an-array 👶 introduction
💪 workout
2 apply-map-function-to-array-items 👶 introduction
💪 workout
🦑 deep
data-types-structures.2: 10
data-types-structures.3: 10
data-types-structures.6: 10
functions.4: 10
3 filtering-items-out-of-an-array 👶 introduction
💪 workout
4 how-to-merge-two-arrays 👶 introduction
💪 workout
5 shuffle-an-array-using-sort-and-random 👶 introduction
💪 workout
data-types-structures.2: 10
data-types-structures.3: 10
data-types-structures.6: 10
standard-library.1: 10
standard-library.4: 10

Exercises:

no name type aspects standards done
1 js-practice-glitch-array-filter glitch 👶 introduction
💪 workout
data-types-structures.3: 1000
data-types-structures.4: 1000
data-types-structures.6: 1000
evaluate-expressions.6: 1000
standard-library.4: 1000
2 js-practice-sort-i codewars 👶 introduction
💪 workout
functions.0: 1000
functions.1: 1000
functions.3: 1000
data-types-structures.4: 1000
3 js-practice-sort-ii codewars 👶 introduction
💪 workout
data-types-structures.4: 1000
functions.0: 1000
functions.1: 1000
functions.3: 1000
4 js-practice-array-every codewars 👶 introduction
💪 workout
standard-library.4: 1000
write-expressions.0: 1000
data-types-structures.6: 1000
5 js-practice-array-reverse codewars 👶 introduction
💪 workout
standard-library.4: 1000
write-expressions.0: 1000
data-types-structures.6: 1000
6 js-practice-array-map codewars 👶 introduction
💪 workout
standard-library.4: 1000
write-expressions.0: 1000
data-types-structures.6: 1000
7 js-practice-array-filter codewars 👶 introduction
💪 workout
standard-library.4: 1000
write-expressions.0: 1000
data-types-structures.6: 1000
8 js-practice-array-concat codewars 👶 introduction
💪 workout
standard-library.4: 1000
write-expressions.0: 1000
9 js-practice-array-reduce codewars 👶 introduction
💪 workout
standard-library.4: 1000
write-expressions.0: 1000
data-types-structures.6: 1000

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 functions-return-undefined-by-default 👶 introduction
💪 workout
functions.1: 10
2 check-if-a-function-exists 👶 introduction
💪 workout
evaluate-expressions.9: 10
functions.8: 10
control-flow.5: 10
control-flow.1: 10
3 function-constructor-vs-function-expression 👶 introduction
4 anonymous-functions 👶 introduction
💪 workout
functions.4: 10
functions.8: 10
5 iife-pattern 👶 introduction
🦑 deep
💪 workout
functions.4: 10
functions.5: 10
functions.6: 10
functions.7: 10
6 functions-are-objects 👶 introduction
💪 workout
🦑 deep
🔮 obscura

Exercises:

no name type aspects standards done
1 js-practice-this codewars 👶 introduction
💪 workout
execution-context.2: 1000
execution-context.3: 1000
execution-context.4: 1000
2 js-practice-default-parameters codewars 👶 introduction
💪 workout
functions.0: 1000
functions.1: 1000
functions.2: 1000
functions.3: 1000

Game:

⚠️ There is no game in this workout.

14. scope

Insights:

no name content aspects standards PQ RQ Quiz done
1 hoisting 👶 introduction
💪 workout
functions.5: 10
2 hoisting-applies-only-to-variable-declarations-not-initializations 💪 workout
🦑 deep
🔮 obscura
3 no-block-scope 💪 workout
🦑 deep
🔮 obscura
4 scope-and-strict-mode 💪 workout
🦑 deep
🔮 obscura
functions.5: 10
5 closures 👶 introduction
💪 workout

Exercises:

no name type aspects standards done
1 js-practice-hoisting codewars 👶 introduction
💪 workout
2 js-practice-closures codewars 👶 introduction
💪 workout
functions.0: 1000
functions.1: 1000
functions.3: 1000
functions.4: 1000
functions.6: 1000

Game:

name type aspects standards done
think-you-know-javascript fillTheGap 👶 introduction
💪 workout
functions.5: 1000

15. errors

Insights:

no name content aspects standards PQ RQ Quiz done
1 exceptions 👶 introduction
💪 workout
control-flow.6: 10
exceptions.2: 10
exceptions.3: 10
2 debugging 👶 introduction
💪 workout
🔮 obscura
3 detect-an-error-type 👶 introduction
💪 workout
exceptions.0: 10
exceptions.1: 10
exceptions.2: 10
4 catch-is-block-scoped 💪 workout
🦑 deep
🔮 obscura
exceptions.2: 10
5 online-debugging-options 👶 introduction
🔮 obscura

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 context-in-javascript 🦑 deep
👶 introduction
💪 workout
execution-context.4: 10
execution-context.3: 10
2 changing-a-functions-context-with-fn-call-object 🦑 deep
💪 workout
functions.1: 10
execution-context.1: 10
3 function-call-method 🦑 deep
💪 workout
functions.1: 10
execution-context.1: 10
4 difference-between-call-and-apply-methods 🔮 obscura
🦑 deep
💪 workout
functions.1: 10
execution-context.1: 10
5 bind 🦑 deep
💪 workout
functions.5: 10
execution-context.0: 10

Exercises:

no name type aspects standards done
1 js-practice-bind codewars execution-context.0: 1000
2 js-practice-call codewars execution-context.1: 1000

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 format-currency-in-javascript 👶 introduction
💪 workout
write-expressions.0: 10
evaluate-expressions.3: 10
standard-library.1: 10
2 easily-generate-a-random-hex-color 💪 workout
🦑 deep
🔮 obscura
write-expressions.0: 10
evaluate-expressions.3: 10
standard-library.1: 10
3 round-numbers-to-n-decimals 👶 introduction
💪 workout
4 using-the-double-tilde 👶 introduction
💪 workout
write-expressions.0: 10
evaluate-expressions.3: 10
data-types-structures.1: 10
5 quick-way-to-format-integers-with-a-fixed-number-of-digits 👶 introduction
💪 workout
🔮 obscura
write-expressions.0: 10
evaluate-expressions.3: 10
standard-library.1: 10
data-types-structures.3: 10

Exercises:

no name type aspects standards done
1 js-practice-number-tostring codewars 👶 introduction
💪 workout
standard-library.2: 1000
write-expressions.0: 1000
2 js-practice-number-tofixed codewars 👶 introduction
💪 workout
standard-library.2: 1000
write-expressions.0: 1000
3 js-practice-math-round codewars 👶 introduction standard-library.1: 1000
write-expressions.0: 1000

Game:

name type aspects standards done
using-the-double-tilde-game fillTheGap 👶 introduction
💪 workout
write-expressions.0: 1000
evaluate-expressions.3: 1000
data-types-structures.1: 1000

Insights:

no name content aspects standards PQ RQ Quiz done
1 method-chaining 👶 introduction
💪 workout
functions.1: 10
functions.6: 10
execution-context.2: 10
2 javascript-compilation 🦑 deep
💪 workout
🔮 obscura
functions.1: 10
functions.5: 10
functions.6: 10
execution-context.4: 10
3 prototype-methods 👶 introduction
💪 workout
🦑 deep
prototype-inherit.0: 10
4 meaning-of-polyfill 🦑 deep
💪 workout
5 using-eval 🔮 obscura
💪 workout

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 milliseconds-since-epoch 👶 introduction
💪 workout
standard-library.5: 10
2 counting-the-months-from-zero 👶 introduction
💪 workout
🔮 obscura
3 performing-a-function-at-timed-intervals 💪 workout
👶 introduction
🦑 deep
async.0: 10
4 avoid-using-with 💪 workout
🔮 obscura
javascript-syntax.0: 10

Exercises:

no name type aspects standards done
1 js-practice-date codewars 👶 introduction
💪 workout
standard-library.5: 1000
write-expressions.0: 1000

Game:

⚠️ There is no game in this workout.

Standards

✅ - At least one insight covers this

❌ - Nothing covers this

🛠️ - This standard has no objectives yet

❌ Identify JavaScript Syntax

  1. ✅ Identify JavaScript control structures
  2. ❌ Identify JavaScript statements
  3. ✅ Evaluate the validity of JavaScript syntax

❌ Identify and use JavaScript's data types and structures and their respective operations

  1. ✅ Identify primitive types in JavaScript
  2. ✅ Use primitive operators to operate on primitive types
  3. ✅ Identify data structures in JavaScript
  4. ✅ Use built-in data structures in JavaScript
  5. ✅ Perform primitive operations on data structures in JavaScript
  6. ❌ Access deeply nested data structures
  7. ✅ Functionally iterate over a data structure

❌ Write Javascript Expressions

  1. ✅ Write simple expressions in JavaScript using each data type
  2. ❌ Compose simple expressions into complex expressions
  3. ❌ Decompose complex expressions into simple expressions

❌ Evaluate JavaScript Expressions

  1. ❌ Accurately predict the return value of simple numeric JavaScript expressions
  2. ✅ Accurately predict the return value of complex numeric JavaScript expressions
  3. ❌ Accurately predict the return value of simple string JavaScript expressions
  4. ✅ Accurately predict the return value of complex string JavaScript expressions
  5. ✅ Accurately predict the return value of simple boolean JavaScript expressions
  6. ✅ Accurately predict the return value of complex boolean JavaScript expressions
  7. ✅ Accurately predict the result of simple JavaScript expressions operating on a data structure
  8. ✅ Accurately predict the result of complex JavaScript expressions operating on a data structure
  9. ❌ Accurately predict the result of complex data structure access operations
  10. ✅ Accurately predict the return value of function or constructor
  11. ✅ Accurately predict the type of a given expression

❌ Use control flow structures to control the flow of a program in JavaScript

  1. ❌ Make a decision about which control flow structure to use in order to execute statements in the correct logical sequence
  2. ✅ Demonstrate the use of if statements
  3. ❌ Demonstrate the use of switch statements
  4. ❌ Demonstrate the use of for, for of, for in loops
  5. ❌ Demonstrate the use of while loops
  6. ✅ Demonstrate the use of creating and calling functions
  7. ✅ Demonstrate the use of using a try..catch block to handle exceptions programmatically

❌ Use functions in JavaScript

  1. ❌ Write a function
  2. ✅ Write a parameterized function
  3. ❌ Write a parameterized function with defaults
  4. ❌ Write a named function
  5. ✅ Write an anonymous function
  6. ✅ Recognize the rules of variable scope with respect to functions
  7. ✅ Use variable scope to effectively encapsulate code by function
  8. ✅ Use variable scope to effectively constrain the memory use of a parameterized function
  9. ✅ Distinguish between function expressions and named functions

❌ Use the standard library to perform common operations on data with JavaScript

  1. ❌ Perform common string manipulation tasks
  2. ✅ Perform math operations, use the Math built-in library
  3. ✅ Accurately perform type-casting operations
  4. ❌ Use Console methods to output data
  5. ✅ Perform collection manipulation with Array methods (map, filter, reduce, etc)
  6. ✅ Perform Date manipulation operations, use the Date built-in library

❌ Perform and manage asynchronous operations in JavaScript

  1. ✅ Use callbacks to asynchronously execute code
  2. ❌ Explain the event loop in JavaScript
  3. ❌ Use Promises to perform sequential asynchronous operations
  4. ❌ Use async and await to create asynchronously resolving generator functions

✅ Use and manipulate the execution context of a function in JavaScript

  1. ✅ Use bind to produce a bound function
  2. ✅ Use call and apply to call a function with an explicit this value
  3. ✅ Use this to store properties on an execution context
  4. ✅ Use this to modify an instance's properties
  5. ✅ Identify what the value of this is given a line in a code snippet

❌ Use prototypes to create class-like objects in JavaScript

  1. ❌ Use a constructor function and the execution context of that function to produce an instance with particular properties
  2. ❌ Use the prototype of the constructor function to set methods on instances produced by the constructor function
  3. ❌ Modify the instance using a prototype method

❌ Use prototypes to inherit attributes from another object in JavaScript

  1. ✅ Set the prototype of a constructor function to inherit methods from another object
  2. ❌ Modify an instance using an inherited prototype's method

❌ Identify and handle exceptions in JavaScript

  1. ✅ Distinguish JavaScript error types
  2. ✅ Identify the type of exception thrown from a JavaScript stack trace
  3. ✅ Use a try..catch block to handle an exception
  4. ✅ Create and throw a custom error type
  5. ❌ Use the debugger statement with a JavaScript debugger

Aspects

Given the insights are tagged with aspects, we can filter over the linear content progression and create learning sub-paths.

These sub-path progressions will most likely not cover all content, but they will ensure and enforce an unified learning experience, tailor for the user wish.

For example, a user might be interested in new additions and updates of a language, rather than introduction lessions. Note that these sub-paths don't take games into consideration

👶 Introduction

If you are being introduced to the topic for the first time

Insights:

  1. why-learn-javascript
  2. javascript-basics-part-1
  3. javascript-basics-part-2
  4. console-in-javascript
  5. types-introduction
  6. weak-vs-strict-equality-operator
  7. types-undefined-and-null
  8. types-boolean-and-number
  9. the-difference-between-null-undefined-and-nan
  10. if-statement
  11. js-switch-statement
  12. loops-part-1
  13. loops-part-2
  14. data-type-comparison-in-switch-statements
  15. declaring-functions
  16. function-arguments
  17. access-a-function-s-arguments-as-an-array
  18. functions-can-be-declared-after-use
  19. setting-default-values-with-short-circuiting
  20. javascript-history
  21. javascript-or-ecmascript
  22. strict-mode
  23. arrays
  24. setting-the-length-of-an-array
  25. splice
  26. arrays-can-be-used-as-stack
  27. object-part-1
  28. object-part-2
  29. deleting-properties
  30. hasownproperty-method
  31. converting-to-and-from-json
  32. truthy-falsy
  33. truthy-falsy-gotchas
  34. be-careful-when-using-typeof
  35. double-and-single-quotes
  36. types-string
  37. string-replace
  38. multi-line-string-variables
  39. most-efficient-way-to-build-html-strings
  40. using-test-with-regexp
  41. base-conversion
  42. nan-is-a-number
  43. get-a-random-item-from-an-array
  44. apply-map-function-to-array-items
  45. filtering-items-out-of-an-array
  46. how-to-merge-two-arrays
  47. shuffle-an-array-using-sort-and-random
  48. functions-return-undefined-by-default
  49. check-if-a-function-exists
  50. function-constructor-vs-function-expression
  51. anonymous-functions
  52. iife-pattern
  53. functions-are-objects
  54. hoisting
  55. closures
  56. exceptions
  57. debugging
  58. detect-an-error-type
  59. online-debugging-options
  60. context-in-javascript
  61. format-currency-in-javascript
  62. round-numbers-to-n-decimals
  63. using-the-double-tilde
  64. quick-way-to-format-integers-with-a-fixed-number-of-digits
  65. method-chaining
  66. prototype-methods
  67. milliseconds-since-epoch
  68. counting-the-months-from-zero
  69. performing-a-function-at-timed-intervals

Exercises:

  1. js-practice-glitch-if
  2. js-practice-if-else
  3. js-practice-switch-case
  4. js-practice-for-loops
  5. js-practice-while-loops
  6. js-practice-glitch-functions
  7. js-practice-functions
  8. js-practice-glitch-array
  9. js-practice-glitch-array-access
  10. js-practice-glitch-array-for-loop
  11. js-practice-arrays
  12. js-practice-array-isarray
  13. js-practice-array-push
  14. js-practice-array-splice
  15. js-practice-objects
  16. js-practice-string-slice
  17. js-practice-string-indexof
  18. js-practice-string-concat
  19. js-practice-string-touppercase
  20. js-practice-string-charat
  21. js-practice-string-trim
  22. js-practice-number-tostring
  23. js-practice-math-max
  24. js-practice-math-pow
  25. js-practice-math-log
  26. js-practice-math-random
  27. js-practice-glitch-array-filter
  28. js-practice-sort-i
  29. js-practice-sort-ii
  30. js-practice-array-every
  31. js-practice-array-reverse
  32. js-practice-array-map
  33. js-practice-array-filter
  34. js-practice-array-concat
  35. js-practice-array-reduce
  36. js-practice-this
  37. js-practice-default-parameters
  38. js-practice-hoisting
  39. js-practice-closures
  40. js-practice-number-tostring
  41. js-practice-number-tofixed
  42. js-practice-math-round
  43. js-practice-date

Games:

  1. foo-features-and-fun-facts
  2. you-can-t-handle-the-truth
  3. infinity-game
  4. think-you-know-javascript
  5. using-the-double-tilde-game

💪 Workout

Theory put into practice/that’s how you achieve X points

Insights:

  1. weak-vs-strict-equality-operator
  2. types-undefined-and-null
  3. types-boolean-and-number
  4. the-difference-between-null-undefined-and-nan
  5. loops-part-2
  6. data-type-comparison-in-switch-statements
  7. function-arguments
  8. access-a-function-s-arguments-as-an-array
  9. functions-can-be-declared-after-use
  10. setting-default-values-with-short-circuiting
  11. arrays
  12. setting-the-length-of-an-array
  13. splice
  14. arrays-can-be-used-as-stack
  15. object-part-1
  16. object-part-2
  17. converting-to-and-from-json
  18. truthy-falsy
  19. truthy-falsy-gotchas
  20. be-careful-when-using-typeof
  21. string-replace
  22. multi-line-string-variables
  23. most-efficient-way-to-build-html-strings
  24. using-test-with-regexp
  25. base-conversion
  26. inaccuracy-of-binary-floating-point-format
  27. parsing-numbers-and-ieee-754
  28. get-a-random-item-from-an-array
  29. apply-map-function-to-array-items
  30. filtering-items-out-of-an-array
  31. how-to-merge-two-arrays
  32. shuffle-an-array-using-sort-and-random
  33. functions-return-undefined-by-default
  34. check-if-a-function-exists
  35. anonymous-functions
  36. iife-pattern
  37. functions-are-objects
  38. hoisting
  39. hoisting-applies-only-to-variable-declarations-not-initializations
  40. no-block-scope
  41. scope-and-strict-mode
  42. closures
  43. exceptions
  44. debugging
  45. detect-an-error-type
  46. catch-is-block-scoped
  47. context-in-javascript
  48. changing-a-functions-context-with-fn-call-object
  49. function-call-method
  50. difference-between-call-and-apply-methods
  51. bind
  52. format-currency-in-javascript
  53. easily-generate-a-random-hex-color
  54. round-numbers-to-n-decimals
  55. using-the-double-tilde
  56. quick-way-to-format-integers-with-a-fixed-number-of-digits
  57. method-chaining
  58. javascript-compilation
  59. prototype-methods
  60. meaning-of-polyfill
  61. using-eval
  62. milliseconds-since-epoch
  63. counting-the-months-from-zero
  64. performing-a-function-at-timed-intervals
  65. avoid-using-with

Exercises:

  1. js-practice-if-else
  2. js-practice-glitch-functions
  3. js-practice-functions
  4. js-practice-glitch-array
  5. js-practice-glitch-array-access
  6. js-practice-glitch-array-for-loop
  7. js-practice-arrays
  8. js-practice-array-isarray
  9. js-practice-array-push
  10. js-practice-array-splice
  11. js-practice-objects
  12. js-practice-string-slice
  13. js-practice-string-indexof
  14. js-practice-string-concat
  15. js-practice-string-touppercase
  16. js-practice-string-charat
  17. js-practice-string-trim
  18. js-practice-number-tostring
  19. js-practice-math-max
  20. js-practice-math-pow
  21. js-practice-math-log
  22. js-practice-math-random
  23. js-practice-glitch-array-filter
  24. js-practice-sort-i
  25. js-practice-sort-ii
  26. js-practice-array-every
  27. js-practice-array-reverse
  28. js-practice-array-map
  29. js-practice-array-filter
  30. js-practice-array-concat
  31. js-practice-array-reduce
  32. js-practice-this
  33. js-practice-default-parameters
  34. js-practice-hoisting
  35. js-practice-closures
  36. js-practice-number-tostring
  37. js-practice-number-tofixed
  38. js-practice-date

Games:

  1. taking-precedence
  2. foo-features-and-fun-facts
  3. you-can-t-handle-the-truth
  4. infinity-game
  5. think-you-know-javascript
  6. using-the-double-tilde-game

🦑 Deep

Prerequisite knowledge consisting of 2 or more 👶/💪 workouts

Insights:

  1. inaccuracy-of-binary-floating-point-format
  2. parsing-numbers-and-ieee-754
  3. nan-is-a-number
  4. apply-map-function-to-array-items
  5. iife-pattern
  6. functions-are-objects
  7. hoisting-applies-only-to-variable-declarations-not-initializations
  8. no-block-scope
  9. scope-and-strict-mode
  10. catch-is-block-scoped
  11. context-in-javascript
  12. changing-a-functions-context-with-fn-call-object
  13. function-call-method
  14. difference-between-call-and-apply-methods
  15. bind
  16. easily-generate-a-random-hex-color
  17. javascript-compilation
  18. prototype-methods
  19. meaning-of-polyfill
  20. performing-a-function-at-timed-intervals

⚠️ There are no exercises tagged with this aspect in core. :warning: There are no games tagged with this aspect in core.

✨ New

Recently added/gained traction feature

⚠️ There are no insights tagged with this aspect in core. :warning: There are no exercises tagged with this aspect in core. :warning: There are no games tagged with this aspect in core.

🔮 Obscura

Stories, obscure details that don’t specifically relate to a learning objective

Insights:

  1. weak-vs-strict-equality-operator
  2. types-undefined-and-null
  3. types-boolean-and-number
  4. the-difference-between-null-undefined-and-nan
  5. javascript-history
  6. javascript-or-ecmascript
  7. infix-operators-are-left-associative
  8. strict-mode
  9. setting-the-length-of-an-array
  10. splice
  11. double-and-single-quotes
  12. most-efficient-way-to-build-html-strings
  13. base-conversion
  14. inaccuracy-of-binary-floating-point-format
  15. parsing-numbers-and-ieee-754
  16. nan-is-a-number
  17. functions-are-objects
  18. hoisting-applies-only-to-variable-declarations-not-initializations
  19. no-block-scope
  20. scope-and-strict-mode
  21. debugging
  22. catch-is-block-scoped
  23. online-debugging-options
  24. difference-between-call-and-apply-methods
  25. easily-generate-a-random-hex-color
  26. quick-way-to-format-integers-with-a-fixed-number-of-digits
  27. javascript-compilation
  28. using-eval
  29. counting-the-months-from-zero
  30. avoid-using-with

⚠️ There are no exercises tagged with this aspect in core. :warning: There are no games tagged with this aspect in core.

Content without aspects

  1. js-practice-glitch-length
  2. js-practice-glitch-log-variable
  3. js-practice-glitch-strings
  4. js-practice-strings-2
  5. js-practice-string-methods-replace
  6. js-practice-double-and-single-quotes
  7. js-practice-bind
  8. js-practice-call
Clone this wiki locally