据我了解,原始数据类型(例如字符串)也可以具有属性,即字符串可以具有 .includes 。这是否意味着所有原始数据类型在执行之前都被转换为对象。如果是,那么原始数据类型和对象之间有明显区别的意义何在?
最佳答案
每当您尝试引用字符串 s 的属性时,JavaScript 都会将字符串值转换为对象,就好像通过调用 new String(s) 一样。该对象继承了字符串方法,用于解析属性引用。一旦属性被解析,新创建的对象就会被丢弃。 数字和 bool 值具有与字符串相同的原因:使用 Number() 或 Boolean() 构造函数创建临时对象,并使用该临时对象解析该方法。
source Javascript:权威指南。大卫弗拉纳根
关于javascript - js中的变量在执行前都是转化为对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61945755/