首页 > 解决方案 > Javascript 中的原始类型如何具有方法和属性?

问题描述

var num1 = new Number(5);
typeof(num1); //returns "object"
num1.toString(); //returns "5"

我知道num1作为一个对象有一个属性.__proto__,它可以.toString()通过原型(.__proto__)链访问它。

var num = 5;
typeof(num); //returns "number"
num.toString(); //returns "5"

在上述情况下, num 是原始类型number。这意味着它不会有任何属性和方法。那么它如何能够访问.toString()方法呢?

标签: javascript

解决方案


这意味着它不会有任何属性和方法。

当涉及到原语时,Javascript 有一个称为强制的属性。它默默地将原语转换为任何对象,然后访问新构造的数字对象的原型方法。


推荐阅读