美文网首页
1和new Number(1)的区别

1和new Number(1)的区别

作者: crazyyoung1020 | 来源:发表于2020-05-13 13:14 被阅读0次

    转载:https://blog.csdn.net/AIB_Kasic/java/article/details/100928422
    作者:喜欢前端的小北

    先讲两个相似的东西

    1和Number(1)
    1===Number(1) //true
    1和new Number(1)
    1===new Number(1) //fasle
    上面第一个只是把1转换为数字类型,而第二个,是把 1 包装 成了一个对象既------包装对象
    所以 1 和 new Number(1)的区别就是原始类型和包装对象的区别
    之前我们说过了js有八种数据类型,其中null,undefine,Number,String,Boolean是原始类型
    除了null,undefine每个原始数据类型都对应一个包装对象
    这也是我们能用原始数据类型调用方法的原理:
    (‘abc’).toString()
    上述例子,‘abc’是一个字符串,原始类型,它并没有toString()这个方法,所以就去它的包装对象 new String(‘abc’)中调用.
    当调用后包装对象就会消失,下次需要就会重新创建。

    相关文章

      网友评论

          本文标题:1和new Number(1)的区别

          本文链接:https://www.haomeiwen.com/subject/nurnnhtx.html