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

新手上路,请多包涵

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

阅读 1.4k
3 个回答

Js 本来就是弱语言

你试试typescript

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题