업무 도중 에러 발생 시 에러가 발생한 함수의 위치(이름)를 문자열로 얻어야 하는 일이 생겼다.
찾아보니 arguments.callee를 사용하면 호출된 함수명을 얻을 수 있다는데 ES5 strict mode인 경우 이를 지원하지 않았다.
다른 우회 방법이 있는지 찾아보니 강제로 에러를 발생시킨 후 에러 스택 트레이스로부터 필요한 라인을 추출하는 방법이 있다는걸 알게돼 이를 참고해서 사용했다.
export function getFunctionCallerName() { // gets the text between whitespace for second part of stacktrace return new Error().stack.match(/at (\S+)/g)[1].slice(3);}