JSFiddle - React, Tailwind, and code Playground

JavaScript

var doSomething1 = function(n, callback) {
    if ("function" !== typeof callback) {
        callback = function () {};
    }
    callback(n+1);
    return n+1;
};
var preparedFunction = function () {};
var doSomething1fix = function(n, callback) {
    if ("function" !== typeof callback) {
        callback = preparedFunction;
    }
    callback(n+1);
    return n+1;
};
var doSomethingIfCallback = function(n, callback) {
    if ("function" === typeof callback) {
        callback(n+1);
    }
    return n+1;
};
var doSomething2 = function(n, callback) {
  if ("function" !== typeof callback) {
    callback = Function.prototype;
  }
  callback(n+1);
    return n+1;
}
    
var times = 100000;
var tmp = [];

console.time('function(){}');
for (var n=0; n <= times; n++) {
    tmp.push(doSomething1(n));
}
console.timeEnd('function(){}');

tmp = [];
console.time('function(){} prepared');
for (var n=0; n <= times; n++) {
    tmp.push(doSomething1fix(n));
}
console.timeEnd('function(){} prepared');


tmp = [];
console.time('if callback');
for (var n=0; n <= times; n++) {
    tmp.push(doSomethingIfCallback(n));
}
console.timeEnd('if callback');

tmp = [];
console.time('Function.prototype');
for (var n=0; n <= times; n++) {
    tmp.push(doSomething2(n));
}
console.timeEnd('Function.prototype');