function startsWith( str, search, position ) {
	var pos;
	if ( !isString( str ) ) {
		throw new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );
	}
	if ( !isString( search ) ) {
		throw new TypeError( format( 'invalid argument. Second argument must be a string. Value: `%s`.', search ) );
	}
	if ( arguments.length > 2 ) {
		if ( !isInteger( position ) ) {
			throw new TypeError( format( 'invalid argument. Third argument must be an integer. Value: `%s`.', position ) );
		}
		pos = position;
	} else {
		pos = 0;
	}
	return base( str, search, pos );
}
Tests if a string starts with the characters of another string.

@param {string} str - input string
@param {string} search - search string
@param {integer} [position=0] - position at which to start searching
@throws {TypeError} first argument must be a string
@throws {TypeError} second argument must be a string
@throws {TypeError} third argument must be an integer
@returns {boolean} boolean indicating if the input string starts with the search string

@example
var bool = startsWith( 'Remember the story I used to tell you when you were a boy?', 'Remember' );
// returns true

@example
var bool = startsWith( 'Remember the story I used to tell you when you were a boy?', 'Remember, remember' );
// returns false

@example
var bool = startsWith( 'To be, or not to be, that is the question.', 'To be' );
// returns true

@example
var bool = startsWith( 'To be, or not to be, that is the question.', 'to be' );
// returns false

@example
var bool = startsWith( 'To be, or not to be, that is the question.', 'to be', 14 );
// returns true

@example
var bool = startsWith( 'To be, or not to be, that is the question.', 'quest', -9 );
// returns true