'retularString'中的Symbol.iterator //错误in
的右边是对象
Symbol.iterator in new String()//是
这是否意味着JS在调用方法/或访问它们上的相应属性(如'string'.toUppercase()
/ 'string'.length
时)仅为创建字符串的对象包装?
答案 0 :(得分:3)
这是否意味着JS在调用方法/或访问它们上的相应属性(如
'string'.toUppercase()
/'string'.length
时)仅为创建字符串的对象包装?
是的
当您有一个声明为var foo = 'foo'
的字符串时,其类型为基元string
,其固有地没有属性,但是当您尝试访问其上的属性时,该基元会暂时包装在{ {1}}通过称为隐式强制的过程来反对。
有关JavaScript中强制性的完整说明,请参见this article。