6170: Software Studio


Variables, expressions, literals; evaluation and execution; numbers, strings and booleans; objects and slots; dynamic typing; function bindings.


Prototyping chain; new, this and constructors; constructor and instanceof; prototypes without new.


Functions as values; functions as arguments; functions as results; functions with slots and functions in slots; local variables through function arguments; var keyword; closures; functionals; iteration constructs.

Bad Parts

Lexical issues; conversions; special values; truthiness; new and this; function declarations; silent failure.

These slides were prepared by Daniel Jackson at MIT. All similarities to real people (or software), living or dead, are coincidental. No animals or software developers were harmed in this production. All rights reserved, 2013, Daniel Jackson.