Issue: it may occurs that you have to call a function that is conditionally set. A frequent use case would be GDPR where you set your tracking script conditionally. You micht check the cookie for each event you track, but I think a better solution would be to track if the function is declared.
Solution:
There are two different options:
Option 1:
This option will still return an error in case the function to evaluate is not defined.
function isFunction(TrackingScript) {
TrackingScript ('button-click','cart',10);
}
Option 2:
if (typeof(TrackingScript) === typeof(Function)){TrackingScript ('button-click','cart',10);}