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.
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
Links
Tweet us your tasty treats!
- Scott's Instagram
- LevelUpTutorials Instagram
- Wes' Instagram
- Wes' Twitter
- Wes' Facebook
- Scott's Twitter
- Make sure to include @SyntaxFM in your tweets