β¬ Optional, π¦ Required for all, π¨ Required for js, π© Learned, π₯ Declined
| Syntax | Statements | Functions | Data structures | Process & style |
|---|---|---|---|---|
| π¦ value | π¦ if | π¦ recursion | π¦ array | π¦ refactoring |
| π¦ identifier | π¦ loops | π¦ function | π¦ instance | π¦ code review |
| π¦ variable | π¦ assignment | π¦ return | π¦ object | π¦ antipatterns |
| π¦ constant | π¨ prototype | π¦ signature | π¦ collection | π¦ paradigm |
| π¦ scalar | π¦ class | π¦ argument | π¦ hash table | π¦ algorithm |
| π¦ literal | π¦ while | π¦ parameter | π¦ linked list | π¦ magic numbers |
| π¦ expression | π¦ do..while | π¦ pure | π¦ queue | π¦ hardcode |
| π¦ heap | π¦ for | π¦ function | π¦ stack | π¦ complexity |
| π¦ type | π¨ for..in | π¦ side effects | π¦ deque | π¦ decomposition |
| π¦ primitive types | π¨ for..of | π¦ closure | π¦ serialization | β¬οΈ spaghetti |
| π¦ reference | π¨ for await | π¦ partial | π¦ mixin, extend | β¬οΈ silver bullet |
| π¦ flag | π¦ throw | β¬οΈ curry | π¨ iterator | β¬οΈ not invented here |
| π¦ lexical scope | π¦ try..catch | π¦ chaining | π¨ typed arrays | π¦ dead code |
| π¦ code block | π¦ equality operators | π¦ higher order | π¨ Map | π¦ unreachable code |
| π¨ Object | π¦ logical operators | π¦ callback | π¨ Set | π¦ duplicate code |
| π¨ this | π¦ bitwise operators | π¦ listener | β¬οΈ weak collections | π¦ exception |
| π¨ arrow function | π¦ break, continue | β¬οΈ pipe | β¬οΈ Proxy | π¦ return early |
| π¨ generator | π¦ switch | β¬οΈ memoize | β¬οΈ Symbol | π¦ linter |
| π¨ async function | π¨ new Error | π¦ factory | π¨ string parsing | β¬οΈ prettier |
| π¨ call, bind, apply | π¦ pool | π¨ timers | π¦ unittest | |
| π¨ Array | π¦ wrapper | π¨ EventEmitter | π¦ git | |
| π¨ instanceof | π¨ default parameters | π¨ RegExp | π¦ github | |
| π¨ ...spread | π¦ lambda | π¨ global | π¨ node.js | |
| π¨ ...rest | π¨ undefined | π¨ npm | ||
| π¨ typeof | π¦ null |