💡
JavaScript配列の最後はarray[array.length -1]よりarray.at(-1)な時代
配列の最後を得るならlength, pop, slice、そして新しい記法のat
以下の配列があるとして、最後の要素である"e"
を取得するには、以下の方法があり、全て同じ出力になります。
const array = ["a", "b", "c", "d", "e"]
console.log(array[array.length - 1]) // "e"
console.log(array.at(-1)) // "e"
console.log(array.slice(-1)[0]) // "e"
console.log(array.pop()) // "e" ※ただし元の配列にも影響する=取り除かれる
配列に影響を与えない、またパフォーマンスの観点でも新たに配列を生成しないarray[array.length - 1]
が採用されることが多いのではないでしょうか。
しかし今や新しいメソッドのat
も現在どの主要ブラウザでも対応しています。
ググると未だarray[array.length - 1]のみの記事ばかり
基礎的ですが記事にした理由は、世の中に出ている記事が少ないからです。少しでも早く良い記法が知れ渡ればよいなと思いました。
【補足】モダンな記法に誘導してくれるunicornというeslintプラグインの紹介
恥ずかしながら私が気づいたのはeslintに怒られたからです。記事を書く前までは身に染み付いたこの旧式の記法を使ってました。
ゲームエイトのプロダクトにはunicornが導入されており、古い記法を用いるとCIで自動修正されるかコケて気づける環境になっています。
Discussion