你知道 📦 JS 中的自动装箱是什么吗?
让我们从“什么是原始类型,以及如何定义它们?”这个问题开始。
原始类型没有方法或属性。
让我们看看 JS 中的一些基本类型。我们先尝试一下数字和字符串。
const name = "Doggo"
const age = 7
console.log(typeof name) // string
console.log(typeof age) // number
name是原始类型字符串,age是数字。这两个原始类型都不应该具有任何属性或方法。让我们检查一下:
console.log(name.length) // 5
console.log(age.toString()) // "7"
为什么这个方法可以正常工作,而且不会抛出错误?看起来这两个原始类型实际上都是对象!但实际上不是!它们的行为就像对象一样,只是因为自动装箱。每当我们尝试访问原始类型的方法或属性时,该原始类型都会被包装到一个对象中。这就是所谓的自动装箱。自动装箱会将原始类型连接到相关的内置原型对象。在我们的例子中,这两个原型对象是String.prototype和Number.prototype。这使我们能够访问原型方法和属性。
例如,这是数字原型:
想要提升 Web 开发能力?
🚀🚀🚀订阅“周二教程”✉️新闻简报