string String.prototype.toUpperCase()
Convert all lowercase letters in this value to a uppercase value and return a new string.
The this value is coerced to string.
Note that certain (exotic) characters map to multiple characters. Therefore the result string MAY NOT be of equal length.
The toLowerCase and toUpperCase functions are not symmetrical (partially due to the previous note) so "hello".toLowerCase() may not be the same as "hello".toLowerCase().toUpperCase.toLowerCase(), if "hello" contains certain characters.
String.prototype.toUpperCase() = function(){
CheckObjectCoercible(this);
var S = ToString(this);
// replace all unicode lowercase characters by unicode uppercase characters
// or "the actual corresponding characters of S" if no quivalent unicode
// character exists.
var L = S.toUpperCase();
return L;
}