Functions, arrow, this, closures
00:00:22 Functions – declarations, local/outer variables, parameters, default values
00:03:22 Function Expressions – functions as values, typeof, hoisting differences
00:04:56 Arrow Functions – syntax, multiline with return, no own this/arguments/super
00:07:05 Closures – retaining access to outer scope variables, private variables pattern
00:07:05 Function Currying – transforming multi-argument functions into sequences of unary functions
00:13:22 Lexical Scoping – scope determined at definition time, not execution time
00:14:08 Closures with this keyword – this determined by calling context, not definition
00:19:36 bind(), call(), apply()