function instanceOf( value, constructor ) {
	// TODO: replace with `isCallable` check
	if ( typeof constructor !== 'function' ) {
		throw new TypeError( format( 'invalid argument. Second argument must be callable. Value: `%s`.', constructor ) );
	}
	return ( value instanceof constructor );
}
Tests whether a value has in its prototype chain a specified constructor as a prototype property.

@param {*} value - value to test
@param {Function} constructor - constructor to test against
@throws {TypeError} constructor must be callable
@returns {boolean} boolean indicating whether a value is an instance of a provided constructor

@example
var bool = instanceOf( [], Array );
// returns true

@example
var bool = instanceOf( {}, Object ); // exception
// returns true

@example
var bool = instanceOf( 'beep', String );
// returns false

@example
var bool = instanceOf( null, Object );
// returns false

@example
var bool = instanceOf( 5, Object );
// returns false