ウェブサービスを作っています。

Array#slice でちょっと悩んだ

久しぶりに JavaScript をやっています。
で、結構忘れていたのでちゃんと勉強しようと思いまして、これを読んでいます。

JavaScript 第5版

JavaScript 第5版

相当厚いんですけど、頑張れば読めそうな気はします。
まだ 100 ページくらいしか読んでないんですが。


で、Array の slice で

var a = [1, 2, 3, 4, 5];
a.slice(-3, -2);  // => [3]

的なコードが載っていて、[3, 4] じゃないの?的なことを思ったんです。


-1 が最後 (右端) の要素になって、-2 が右から 2 番目の要素になるから、スタートが 3 からなのはいいけど、終わりの -2 は要素 4 に該当するんじゃないんですか、と思ったんです。


悩んだときは Google 先生です。

slice は end 自体は含めず、その直前まで取り出します。
(http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:slice)

なるほどですね。