包装类

353 阅读1分钟

包装类

Number()、String()和Boolean()分别是数字、字符串、布尔值(必须是基本类型值)的”包装类“。

Number()、String()和Boolean()的实例都是object类型,它们的PrimitiveValue属性储存它们的本身值,不能打点调用此属性

new出来的基本类型值可以正常参与运算

很多编程语言都有”包装类“的设计,包装类的目的就是为了让基本类型值可以从他们的构造函数的prototype上获得方法。

 <script>
        var a = new Number(123);
        var b = new String('慕课网');
        var c = new Boolean(true);

        console.log(a);
        console.log(typeof a);    //object
        console.log(b);
        console.log(typeof b);     //object
        console.log(c);
        console.log(typeof c);     //object

        console.log(5 + a);     //128
        console.log(b.slice(1, 2));  //'课'
        console.log(c && true);   //true

        var d = 123;
        console.log(d.__proto__ == Number.prototype); //true

        var e = '慕课网';
        console.log(e.__proto__ == String.prototype);   //true

        console.log(String.prototype.hasOwnProperty('toLowerCase'));  //true
        console.log(String.prototype.hasOwnProperty('slice'));   //true
        console.log(String.prototype.hasOwnProperty('substr'));   //true
        console.log(String.prototype.hasOwnProperty('substring'));  //true

        console.log(String.prototype);
    </script>