function words(string, pattern, guard) {
      string = string != null && String(string);
      pattern = guard ? null : pattern;
      return (string && string.match(pattern || reWords)) || [];
    }
Splits `string` into an array of its words.

@static
@memberOf _
@category String
@param {string} [string=''] The string to inspect.
@param {RegExp|string} [pattern] The pattern to match words.
@param- {Object} [guard] Enables use as a callback for functions like `_.map`.
@returns {Array} Returns the words of `string`.
@example

_.words('fred, barney, & pebbles');
// => ['fred', 'barney', 'pebbles']

_.words('fred, barney, & pebbles', /[^, ]+/g);
// => ['fred', 'barney', '&', 'pebbles']