generated at
JavaScript Records & Tuples Proposal

2023/5/30現在stage 2



immutableなtupleとrecordを定義できる
以下のようなsyntax
ts
const ship1 = #{ x: 1, y: 2 }; const tuple = #[1, 2, 3];

値の透過性比較ができる
ts
assert(#{ a: 1 } === #{ a: 1 }); // ok assert(#[1] === #[1]); // ok

これ入ったら別言語じゃん、すごいmrsekut

immutableなので変更しようとするとerror
js
const record = #{ prop: 1 }; record.prop = 2 // "Cannot assign to read only property 'prop' of object '[object Object]'"



polyfillをどういう風に実装しているのかの解説
同等の値を持つオブジェクトは1つしか作られないようにするというもの