JSFiddle - React, Tailwind, and code Playground

JavaScript

function isFunction(fctName) {
    try {
        return typeof(eval(fctName)) === "function";
    } catch (err) {
        return false;
    }
}

function isFunction2(fctName) {
    return typeof(window[fctName]) === "function";
}

var myFunc1 = function () {};
function myFunc2() {};

var aString = "hello world!";

console.log(myFunc1); // function () {}
console.log(myFunc2); // function myFunc2() {}
// Can't work : Exception throw
// console.log(myFunc3);

console.log(window['myFunc1']); // function () {}
console.log(window['myFunc2']); // function myFunc2() {}
console.log(window['myFunc3']); // undefined

console.log(isFunction("myFunc1"));  // true
console.log(isFunction("myFunc2"));  // true
console.log(isFunction("myFunc3"));  // false

console.log(isFunction2("myFunc1"));  // true
console.log(isFunction2("myFunc2"));  // true
console.log(isFunction2("myFunc3"));  // false

console.log(isFunction('aString.toLowerCase'));  // true
console.log(isFunction('aString.toLower'));      // false : toLower doesn't exist

console.log(isFunction2('aString.toLowerCase')); // false : aString.toLowerCase isn't defined ! (but aString was)
console.log(isFunction2('aString.toLower'));     // false : same reason than above

// So Eval can be usefull