Slide 10
Slide 10 text
10
実際の提案を見てみよう
● Stage 1 Record / Tuple (2019-10 に議題に出た提案)
○ https://github.com/tc39/proposal-record-tuple
○ Object / Array のリテラルに # をつけて Immutable な Record Types を作る
const tuple1 = #[1, 2, 3];
// 値を取り出すときは普通の Array と同じ
assert(tuple1[0] === 1);
// Tuple#with によって値を変更した新たな Tuple を作る
const tuple2 = tuple1.with(0, 2);
assert(tuple1 !== tuple2);
assert(tuple2 === #[2, 2, 3]);