【发布时间】:2015-09-08 04:06:09
【问题描述】:
我很困惑wrapper objects for primitives 是什么。例如,字符串原语和使用字符串包装对象创建的字符串。
var a = "aaaa";
var b = new String("bbbb");
console.log(a.toUpperCase()); // AAAA
console.log(b.toUpperCase()); // BBBB
console.log(typeof a); // string
console.log(typeof b); // object
两者都可以访问String.prototype 方法,并且看起来就像字符串文字一样。但是一个不是字符串,它是一个对象。 a 和 b 之间的实际区别是什么?为什么要使用new String() 创建字符串?
【问题讨论】:
-
实际上没有真正的用例。实际的区别在于字符串包装器充当对象(例如可以有自己的属性)。
标签: javascript string primitive string-literals