function underscore(s) {
  return typeof s === 'string' ? s.replace(/([a-z\d])([A-Z]+)/g, '$1_$2').replace(/[-\s]+/g, '_').toLowerCase() : s;
}
function underscore(s) {
  return typeof s === 'string' ? s.replace(/([a-z\d])([A-Z]+)/g, '$1_$2').replace(/[-\s]+/g, '_').toLowerCase() : s;
}
function underscore ( s ) { return typeof s === 'string' ? s . replace ( / ([a-z\d])([A-Z]+) / g , '$1_$2' ) . replace ( / [-\s]+ / g , '_' ) . toLowerCase ( ) : s ; }
Public: Converts the given string to under_score_case.
Public : Converts the given string to under_score_case .