Archive

Articles are posted a few months after initial publication in the newsletter. Want to make sure you receive articles as soon as they are published? Subscribe via email.

  1. The Problems with for...in and JavaScript Arrays
  2. Measuring JavaScript Performance with console.time
  3. The Perils of Non-Local Mutation
  4. Checking Date Equality in JavaScript
  5. Detecting Arrays (and other subtypes) vs. Objects in JavaScript
  6. Finding an Object's Size in JavaScript
  7. Negating Predicate Functions in JavaScript
  8. Using ECMAScript 6 Maps
  9. Creating Objects Without Prototypes
  10. Basic Inheritance with Object.create
  11. Avoiding Problems with Decimal Math in JavaScript
  12. Preventing Object Extensions in JavaScript
  13. Sealing JavaScript Objects with `Object.seal`
  14. Immutable Objects with `Object.freeze`
  15. Retrieving Property Names with `Object.getOwnPropertyNames` and `Object.keys`
  16. The `delete` Operator in JavaScript
  17. Basic Inheritance with JavaScript Constructors
  18. JavaScript's Primitive Wrapper Objects
  19. Storing Metadata on Arrays in JavaScript
  20. Ditching jQuery with `querySelectorAll`
  21. Building Up Arrays with Array#concat
  22. Object Equality in JavaScript
  23. Truthy and Falsy Values in JavaScript
  24. Emulating Block Scope in JavaScript
  25. The Virtue of JavaScript Linting
  26. Understanding the Module Pattern in JavaScript
  27. The Problem with Testing for NaN in JavaScript
  28. Finding Array Elements with Array#indexOf
  29. Numbers and JavaScript's Dot Notation
  30. Using JavaScript's Array Methods on Strings
  31. JavaScript's void Operator
  32. Creating Unwritable Properties with Object.defineProperty
  33. Equals Equals Null in JavaScript
  34. Filtering Arrays with Array#filter
  35. Partial Application with Function#bind
  36. Creating Bound Functions with Function#bind
  37. Variable and Function Hoisting in JavaScript
  38. An Introduction to IIFEs - Immediately Invoked Function Expressions
  39. Determining if a String Contains a Substring in JavaScript
  40. The Uses of 'in' vs 'hasOwnProperty'
  41. An Introduction to Writing Your Own JavaScript Compatibility Shims
  42. The Difference Between Boolean Objects and Boolean Primitives in JavaScript
  43. Function functions
  44. Using 'apply' to Emulate JavaScript's Upcoming Spread Operator
  45. Invoking JavaScript Functions With 'call' and 'apply'
  46. Testing Array Contents with Array#every
  47. Using JavaScript's 'toString' Method
  48. Boiling Down Arrays with Array#reduce
  49. Using Duck Typing to Avoid Conditionals in JavaScript
  50. Creating Chainable Interfaces in JavaScript
  51. Testing Array Contents with Array#some
  52. Making Deep Property Access Safe in JavaScript
  53. Using Dispatch Tables to Avoid Conditionals in JavaScript
  54. What are Prototype Properties and Methods?
  55. Dealing with the Dangers of `this` in Constructors
  56. Constructors in JavaScript
  57. Transforming Arrays with Array#map
  58. What is an Array?
  59. Reordering Arrays with Array#sort
  60. Arbitrary Parameters with the arguments Object
  61. Default Parameters in JavaScript