pushとpop

配列に要素を追加したり、追加した要素を取り出す配列操作のメソッドにpush と popがあります。組み合わせると先入れ後出し(first in, last out)のスタックが実現します。

var stack = [];

stack.push('Lightning Bolt');
 // スタックの内容:['Lightning Bolt'] 1 を返す
stack.push('Brainstorm');
 // スタックのの内容:['Lightning Bolt', 'Brainstorm'] 2を返す
stack.pop();
 // スタックの内容 ['Lightning Bolt'] Brainstorm を返す
stack.push('Counterspell','Price of Progress');
 // スタックの内容['Lightning Bolt','Counterspell','Price of Progress'] 3を返す
stack.pop();
 // スタックの内容['Lightning Bolt','Counterspell'] Price of Progress を返す

stack.pop();
 // スタックの内容['Lightning Bolt']  Counterspellを返す

Counterspell されてもpop() しない限りstack の’Lightning Bolt’ は取り出せませんけど・・・ね。