配列に要素を追加したり、追加した要素を取り出す配列操作のメソッドに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’ は取り出せませんけど・・・ね。