slowjet

is a part of a carburetor

コールスタックを辿って、関数が呼ばれた元の位置を知る

プロジェクトが長くなってくると、前に書いたはずのコードも忘れがちだよね…
あれ、なんでこれ2回も呼ばれてるの、記憶にないんだけど(いやいや前に書いてる

Chrome なら Error オブジェクトの stack で辿れる

function hoge() {
  var err = new Error();
  err.stack;
}

function fuga() {
  hoge();
}

fuga();

console.trace() が存在するブラウザであればそれでも OK

function hoge() {
  console.trace();
}

...

表示もちょっと違うけど、Chrome はエラーオブジェクトの stack のほうが見やすかった

Resources