JSFiddle - React, Tailwind, and code Playground
JavaScript
function MyClass() {};
MyClass.prototype.myName = function (){
console.log(getCallerName(), 'I am here');
};
MyClass.prototype.myOtherName = function (){
console.log(getCallerName(), 'I am here again');
};
function doMe() {
console.log(getCallerName(), 'I am here in a named function');
};
function getCallerName() {
try {
throw new Error();
} catch (e) {
console.log(e.stack);
var lines = e.stack.split('\n');
// FF
var ffMatch = /\b([a-zA-Z1-9\$_\.]*)@/.exec(lines[1]);
if (ffMatch) {
return ffMatch[1];
}
// IE 10+ and Chrome
var chromeMatch = /at (.*) /.exec(lines[2]);
if (chromeMatch) {
return chromeMatch[1];
}
return 'unknown function';
}
}
var a = new MyClass();
a.myName();
a.myOtherName();
doMe();