pop() メソッドは配列の最後の要素を取り除き、呼び出し元にその値を返します。 pop() を空の配列に対して呼び出すと、 undefined を返します。 Array.prototype.shift() は pop() と同様の動作をしますが、配列の最初の要素に適用されます。 pop() は変更を行うメソッドです。 this の長さと内容を変更します。 this の値は変更せずに、最後の要素を取り除いた新しい配列を返したい場合は、代わりに arr.slice(0, -1) を使用することができます。 pop() メソッドは汎用的です。これは this 値に length プロパティと整数キーのプロパティがあることだけを期待します。文字列も配列風ですが、文字列は不変であるため、このメソッドを適用するのは適切ではありません。