toUpperCase() is not making the string upper case

前端 未结 6 2221
走了就别回头了
走了就别回头了 2021-02-11 02:48

I don\'t know what I\'m doing wrong; But somehow .toUpperCase() String-function is not working on my browser or do I get something wrong?

var string          


        
相关标签:
6条回答
  • 2021-02-11 03:27
    var upperCase = string.toUpperCase();
    console.log(upperCase);
    

    toUpperCase doesn't transform existing string, it just returns a uppercase string.

    0 讨论(0)
  • 2021-02-11 03:29

    String is Immutable. Once created, a string object can not be modified.

    So here toUpperCase returns a new string, This should work-

    var string ="kjsdgfiIJHBVSFIU";
    var newString = string.toUpperCase();
    alert(newString);
    
    0 讨论(0)
  • 2021-02-11 03:30
    var string ="kjsdgfiIJHBVSFIU";
    string = string.toUpperCase();
    console.log(string);
    
    0 讨论(0)
  • 2021-02-11 03:39

    toUpperCase returns the new string, so you must write:

    string = string.toUpperCase();
    

    In many languages, strings are immutable, meaning that they can not be modified once created. While this costs in efficiency, it is important for object oriented programming, because if a String passed by reference to a function was modifiable, the state of objects could be changed without the object's consent.

    0 讨论(0)
  • 2021-02-11 03:46

    .toUpperCase returns the upper-cased string. It is not an in-place modifier method.

    string = string.toUpperCase();
    

    Documentation: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/toUpperCase

    0 讨论(0)
  • 2021-02-11 03:46

    Previous answers about Strings being immutable are great! Here is just another potential run-time reason for getting this error which might be hard to spot at first. It does not detract from any of the above valid answers:

    If the object on which the .toUpperCase() method is invoked is not a String, then the runtime doesn't 'find' the method toUpperCase() since that method/function only exists on String objects.

    e.g. console.log(variableName.toUpperCase());

    If variableName is of the type String, it works fine. If it is of another type (that does not have a toUpperCase() method, it says 'toUpperCase() is not a function (since it isn't).

    If you know it should be a string, you can cast it like this:

    console.log(String(variableName).toUppercase());
    

    Hope it helps.

    0 讨论(0)
提交回复
热议问题