- 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 *
-
-
for
loop -
while
loop - grabbing the "current" value for an array
- using the current index
- using bracket notation
- incremetors / decrementors
- named functions
- arguments vs. parameters
-
arguments
keyword
-
- inputs and outputs
- return values vs. side-effects (e.g.
console.log
)- explicit
return
value - implicit
return
value
- 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
-
window
object
-
- local/functional scope
var
vslet
-
this
keyword-
.bind()
-
.apply()
-
- global scope
-
new
keyword-
this
keyword
-
-
prototype
- function vs. method
- Reading documentation
- Boolean Methods
- Number Methods
- String Methods
Array Methods
- iterator methods
- (
for
loops) - (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