对基本类型, 针对某个属性赋值, 为什么不报错呢

新手上路,请多包涵

对基本类型, 针对某个属性赋值, 为什么不报错呢,比如 let a = 'a'; a.b = 1; console.log(a.b) // undefined

阅读 1.5k
3 个回答

Js 本来就是弱语言

你试试typescript

let a = 'a' js运行时,当a被赋值为'a'时,js引擎确定 a 为 string 类型。 字符类型不能通过.操作添加属性。对象类型才可以通过.操作添加属性。

可以了解下js中的包装类型。

在基本数据类型中有3个特殊的存在:String Number Boolean,这三个基本类型都有自己对应的包装对象,也就是在使用的时候会使用new xx转换为对象,因为每次都会转换为对象,所以你对他的赋值没有意义,因为赋值的时候是一个对象,取值的时候就是另外一个对象了

推荐问题