js笔记---包装对象与Boolean对象

所谓“包装对象”,就是分别与数值、字符串、布尔值相对应的Number、String、Boolean三个原生对象。这三个原生对象可以把原始类型的值变成(包装成)对象。

包装对象实例可以使用Object对象提供的原生方法,主要是 valueOf 方法和 toString 方法。

1、valueOf( ) 返回包装对象实例对应的原始类型的值
new Number( 123 ).valueOf( ) //"123"
new String( "abc" ).valueOf( ) //"abc"
new Boolean( "true" ).toString( ) //"true"

2、toString( ) 返回该实例对应的原始类型只得字符串形式(同上)
原始类型可以自动调用定义在包装对象上的方法和属性。比如length属性,返回字符串的长度。
Boolean对象除了可以作为构造函数,还可以作为工具方法单独使用:
Boolean( undefined ) // false
Boolean( null ) // false
Boolean( 0 ) // false
Boolean( ' ' ) // false
Boolean( NaN ) // false
Boolean( 1 ) // true
Boolean( 'false' ) // true
Boolean( [ ] ) // true
Boolean( { } ) // true
Boolean ( function( ) { } ) // true
Boolean( /foo/ ) // true

使用not运算符(!)也可以达到同样效果。
!!( function( ) { } ) // true
!!( /foo/ ) // true

对于一些特殊值,Boolean对象前面加不加new,会得到完全相反的结果,必须小心。
if( Boolean( false ) )
console.log( 'true' ); // 无输出
if( new Boolean( false ) )
console.log( 'true' ); // true
if( Boolean( null ) )
console.log('true'); // 无输出
if ( new Boolean( null ) )
console.log('true'); // true

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,341评论 19赞 139
  • JS基础讲解 JavaScript组成ECMAScript:解释器、翻译DOM:Document Object M...
    FConfidence阅读 670评论 0赞 1
  • 9.正则表达式 首先,js定义了RegExp()构造函数,用来创建表示文本匹配模式的对象。这就是正则表达式。正则表...
    我就是z阅读 870评论 0赞 5
  • 人们越来越意识到安全的重要,不只是人身安全,还包括我们个人信息的隐私安全。在互联网时代,想要保障我的信息安全,我们...
    随风流逝阅读 722评论 0赞 0
  • 多傻 要是能忘 我怎会放不下 你的话打开了记忆的阀 也许我们都向往幸福的方向 你前进 我却在原地停下 多傻 还在期...
    全世界借我一秒遗忘你CYM阅读 315评论 0赞 1

友情链接更多精彩内容