search

Home  >  Q&A  >  body text

javascript - valueOf() 方法可返回 Boolean 对象的原始值。这句话是什么意思?

不是很理解valueOf()方法

PHP中文网PHP中文网2793 days ago745

reply all(2)I'll reply

  • 大家讲道理

    大家讲道理2017-04-10 14:33:32

    Boolean是个对象(Object):

    > typeof(new Boolean(true))
    "object"
    

    原始值(primitive)是一系列语言中内置的最简单的数据类型,一般直接存在栈上,例如:

    > typeof(100)
    "number"
    > typeof(true)
    "boolean"
    

    Boolean和boolean的区别就在于Boolean是一个对象,内部包含了一个boolean原始值,并且可以使用toString等给对象用的方法。valueOf可以返回Boolean内部代表的那个boolean。

    > new Boolean(true).valueOf()
    true
    > typeof(new Boolean(true).valueOf())
    "boolean"    //这里就不是object了
    

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 14:33:32

    var t = new Boolean(true);
    t === true //return false
    t.valueOf() === true //return true
    

    reply
    0
  • Cancelreply