- Javascript Style Guide
- indentation
- snake_case vs. camelCase
- Data Structures
-
Boolean -
Number -
String -
Array -
Object -
Date -
Regex
-
- Primitive Values
-
undefined -
null -
Infinity# ? -
NaN# ?
-
- Reserved Keywords *
- Booleans
-
true -
false - truthy values in javascript
- type coercion
-
- Logical/Mathematical Comparators
-
===vs.== -
!== -
>,>=,<=,<
-
- Boolean Operators
- Default Operator (
||) - Guard Operator (
&&) - Not (
!) - Not Not (
!!)
- Default Operator (
- Conditionals
-
if,else if,else - ternary operator
-
- Loops
- incremetors / decrementors
-
++operator -
--operator - post increment vs. pre increment *
-
-
forloop -
whileloop - grabbing the "current" value for an array
- using the current index
- using bracket notation
- incremetors / decrementors
- named functions
- arguments vs. parameters
-
argumentskeyword
-
- inputs and outputs
- return values vs. side-effects (e.g.
console.log)- explicit
returnvalue - implicit
returnvalue
- explicit
- callback functions (synchronous)
- anonymous functions
- first class functions
- asynchronous callback functions (e.g. ajax)
- return values vs. side-effects (e.g.
- scope
- global scope
-
windowobject
-
- local/functional scope
varvslet
-
thiskeyword-
.bind() -
.apply()
-
- global scope
-
newkeyword-
thiskeyword
-
-
prototype - function vs. method
- Reading documentation
- Boolean Methods
- Number Methods
- String Methods
Array Methods
- iterator methods
- (
forloops) - (callback functions)
-
forEach -
map -
filter -
reduce
- (
- Object Methods
- Date Methods
- Regex Methods
- Reading Errors
- Reproducing errors
- Reading the stack trace
- Types of Errors
-
ReferenceError -
SyntaxError -
TypeError
-
- Strategies
- printing to the console
-
console.log -
console.count - assertions
-
- divide and conquer
-
debugger - testing
- printing to the console