代码之家  ›  专栏  ›  技术社区  ›  Morgan Cheng

字符串是否从Javascript中的对象继承?

  •  2
  • Morgan Cheng  · 技术社区  · 16 年前

    对象 Javascript中所有对象的基类,就像Java&C#?

    我在安装了Firebug的Firefox中尝试了以下代码。

    var t = new Object();
    var s1 = new String('str');
    var s2 = 'str';
    console.log(typeof t);
    console.log(typeof s1);
    console.log(typeof s2);
    

    控制台输出为

    object
    object
    string
    

    所以 s1 是不同类型的吗?

    3 回复  |  直到 16 年前
        1
  •  7
  •   Kyle Rosendo    16 年前

    是的,“str”是一个字符串 literal object .

    字符串文本可以访问字符串的所有对象和方法,因为javascript将临时将字符串文本转换为字符串对象以运行所需的方法。

    两者的不同之处在于对新特性和新方法的处理。与所有Javascript对象一样,您可以为任何字符串对象分配属性和方法。不能向字符串文本添加属性或方法。他们被口译员忽略了。

    up more here .

        2
  •  2
  •   Sean Kinsey    16 年前

    该过程称为装箱/取消装箱。

    new Object([primitive])
    

    获取有效的实例。同样地,只要你尝试将它用作原语(如在表达式中),它就会使用

    [boxedobject].valueOf()
    

    在ECMAScript(javascript)中,对象的构造函数能够装箱所有原语。