Slide 33
Slide 33 text
No31: 30s
Slice notation (Stage 1) @arayaryoma
const array = ["a", "b", "c", "d"];
array.slice(1, 3); // => ['b', 'c']
array.slice(3); // => ['d']
array.slice(-2); // => ['c', 'd']
// array.slice(1, 3)と同等
array[1:3] // => ['b', 'c']
// array.slice(0, 3)と同等
array[:3]; // => ['a', 'b', 'c']
// array.slice(1)と同等
array[1:]; // => ['b', 'c', 'd']
// コピーが作られる。 array.slice()と同等
array[:]; // => ['a', 'b', 'c', 'd']
// array.slice(-2)と同等
array[-2:]; // => ['c', 'd']
// array.slice(0, -10) と同等
array[:-10]; // => []
Initial commit: 2018/5/2
Latest commit: 2020/7/12
Champion: @gsathya
https://github.com/tc39/proposal-slice-notati
on
Array.prototype.slice
引数が1つのときの挙動が
分かりづらくない?
新しい記法の提案
対応表:
● a[n:m] ⇔ a.slice(n, m)
● a[n:] ⇔ a.slice(n)
● a[:m] ⇔ a.slice(0, m)
● a[:] ⇔ a.slice()