字符串可以使用substring等方法的原因解析

我们知道,字符串是原始类型,是不可扩展的(没有方法)
那为什么字符串可以调用substring,slice等方法呢?

这是因为js在执行字符串语句的时候,对字符串进行了一层包装,就是我们常说的包装类型
new String()生成一个示例,将这个实例用另一个变量储存,实例调用方法(对象的可扩展性),执行完后,销毁这个实例

用代码解释就是:

var str = 'aaaaa'
str.substring(2)

-----等价于:-----
var str = 'aaaaa'
var str1 = new String(str)
str1.substring(2)
str = str1
str1 = null
posted @ 2021-06-17 10:36  zoo-x  阅读(130)  评论(0编辑  收藏  举报