287

September 28th, 2020 × #immutability#javascript#records#tuples

Hasty Treat - Records and Tuples in JavaScript

This episode covers immutable records and tuples in JavaScript - new proposed syntax for creating objects and arrays that are deeply immutable and support deep equality checks.

or

In this Hasty Treat, Scott and Wes talk about records and tuples in javascript — what they are, why you might want to use them, and more!

LogRocket - Sponsor

LogRocket lets you replay what users do on your site, helping you reproduce bugs and fix issues faster. It's an exception tracker, a session re-player and a performance monitor. Get 14 days free at logrocket.com/syntax.

Show Notes

02:42 - Immutability

05:08 - Records

  • Immutable object
  • Syntax #{x: 1, y: 2}

05:56 - Tuples

  • Immutable array
  • Syntax #[1,2,3,4]

07:18 - For both

  • Referred to as a compound primitive

  • Can contain only primitives, not objects

  • They are compared deeply by their contents rather than their identity

    assert(#{ a: 1 } === #{ a: 1 });
    assert(#[1, 2] === #[1, 2]);
    assert(#{ a: 1, b: 2 } === #{ b: 2, a: 1 });
    
  • Potential for optimizations

    • Optimizations for making deep equality checks fast
    • Optimizations for manipulating data structures
  • Works well with type systems

  • Better integration with the debugger

  • Accessed through normal record.scott object like syntax

13:39 - Stage 2

Tweet us your tasty treats!

Share